可能重复:
How do I invoke a Java method when given the method name as a string?
我有10个方法:m1
,m2
,m3
,...
public void m1(){
..
}
如何在'for'循环中使用字符串调用它们?
我想这样做:
for (int i=1;i<11;i++){
invoke('m'+i);
}
答案 0 :(得分:4)
您需要使用reflection
来实现此目的。
Method method = getClass().getMethod(methodName);
method.invoke(this);
因此,您需要将方法名称存储在数组中,并使用此代码片段逐个调用这些方法。
答案 1 :(得分:0)
您可以使用reflection执行此操作。
但是,我会对你的用例感兴趣。通常可以重构应用程序,因此使用反射是多余的。
答案 2 :(得分:-1)
在this
对象上使用java反射。