我有一个问题: MyFirstClass.java
public class MyFirstClass{
String strParam;
MySecondClass secClass;
//getters and setters
}
MySecondClass.java
public class MySecondClass{
String p1Param;
String p2Param;
String p3Param;
String p4Param;
//setters and getters
}
TestClass.java
public void doProcessing(MyFirstClass pObj){
for(int i=0;i<3;i++){
System.out.println() ;
//###question is here
}
我想使用java反射并通过向g提供参数来调用for循环中的pObj.getP**Param()方法
Method m= cls.getMethod("getP"+(i+1)+"Param");
pObj.getSecClass.[ invokeMethod m ]
如何让它成为可能。 我不想使用 p*Params 数组。
提前致谢。
最佳答案
您确定这是您需要的吗?对我来说,您的代码似乎是当前在每项任务中滥用反射趋势的典型示例。为什么不使用数组或映射来存储属性p[0-9]+Param
。
数组就是为了做到这一点而发明的。它们提供一系列变量,按数字索引。
关于java - 使用java反射在循环中调用编号的函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880941/