我有 10 个方法名为:m1
, m2
, m3
,...
像这样:
public void m1(){
..
}
如何在“for”循环中使用字符串调用它们?
我想做这个:
for (int i=1;i<11;i++){
invoke('m'+i);
}
我有 10 个方法名为:m1
, m2
, m3
,...
像这样:
public void m1(){
..
}
如何在“for”循环中使用字符串调用它们?
我想做这个:
for (int i=1;i<11;i++){
invoke('m'+i);
}
你需要使用reflection
来实现这一点。
Method method = getClass().getMethod(methodName);
method.invoke(this);
因此,您需要将方法名称存储在一个数组中,并使用此代码段来一一调用这些方法。
你可以用反射来做到这一点。
但是,我会对您的用例感兴趣。通常可以重构应用程序,因此反射的使用是多余的。
this
在对象上使用 java 反射。