繁体   English   中英

Java如何通过原始类型作为参数的反射来调用方法

[英]Java how to call method by reflection with primitive types as arguments

我在类中有以下两种方法:

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM