java在使用反射调用方法时区分int和Integer参数
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
你可以在下面搜索框中键入要查询的问题!
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
# 1 楼答案
您正在请求接受
Integer
的方法。将其更改为需要int
的选项,即可完成以下操作:请注意,尽管
int
是一种基本类型,但仍有asint.class
。它的存在正是出于这个原因