我需要调用一些libs生成的一些函数。我需要逐个致电fucntion1
,function2
,...,function10
。而不是将它们全部写在代码上,是否有任何聪明的方法来编码它?
答案 0 :(得分:7)
你可以使用reflection。
Some some = new Some();
for (int i = 1; i <= 10; i++) {
some.getClass().getMethod("function" + i).invoke(some);
}
答案 1 :(得分:1)
您也可以使用java.beans包中的Expression类
http://download.oracle.com/javase/6/docs/api/index.html?java/beans/package-summary.html
构造一个表达式对象。
Expression(Object target,String methodName,Object[] arguments)
然后在表达式对象上,您可以使用getValue()
干杯!