クラスには次の2つのメソッドがあります。
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
?
クラスには次の2つのメソッドがあります。
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);