我有一类以下两种方法:
public void Test(int i){
System.out.println("1");
}
public void Test(Integer i){
System.out.println("2");
}
下面的代码线
this.getClass().getMethod("Test",Integer.class).invoke(this, 10);
打印2
,如何使它打印1
?
我有一类以下两种方法:
public void Test(int i){
System.out.println("1");
}
public void Test(Integer i){
System.out.println("2");
}
下面的代码线
this.getClass().getMethod("Test",Integer.class).invoke(this, 10);
打印2
,如何使它打印1
?
调用与原始类型如使用反射参数的方法:
你可以使用int.class
this.getClass().getMethod("Test",int.class).invoke(this, 10);
或Integer.TYPE
this.getClass().getMethod("Test",Integer.TYPE).invoke(this, 10);
这同样适用于其他基本类型
奇怪但却真实:
this.getClass().getMethod("Test",int.class).invoke(this, 10);