java invoke的用法. 获取一个对象的所有get方法。再用invoke到另一个对象的set方法中,怎么写。
发布网友
发布时间:2022-05-01 23:15
我来回答
共1个回答
热心网友
时间:2023-10-08 15:32
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Xx {
/**
* @param args
*/
public static void main(String[] args) {
//所有public方法
Method[] ms = A.class.getMethods();
for (int i = 0; i < ms.length; i++) {
if(ms[i].getName().startsWith("get"))
//get方法
;
}
try {
//set方法
Method setMethod = A.class.getMethod("setXxx", Object.class);
//set值,根据具体参数类型来,可多个
Object setValue = new Object();
setMethod.invoke(new A(), setValue);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class A {
}