public void getData(int i){
System.out.println("1");
}
public void getData(Integer i){
System.out.println("2");
}
下面这行代码
this.getClass().getMethod("getData",Integer.class).invoke(this, 10);
打印2,如何让它打印1?
最佳答案
您正在请求接受整数
的方法。将其更改为需要 int
的值,然后就完成了:
this.getClass().getMethod("getData",int.class).invoke(this, 10);
请注意,尽管 int
是原始类型,但还是有 int.class
。它正是因为这个原因而存在。
关于java - 使用反射调用方法时 int 和 Integer 参数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24083444/