如果构造函数接受基本类型,如何使用getDeclaredConstructor?

时间:2014-01-15 10:28:25

标签: java

我找到了这样的构造函数:

type.getDeclaredConstructor(Integer.class);

当类型为

时,这种方法有效
MyType {
public MyType(Integer a);
}

但是,当类型为

时,这不起作用
MyType {
public MyType(int a);
}

我不想将int替换为Integer,因为我被告知可能会产生不必要的开销。

我该怎么办?

1 个答案:

答案 0 :(得分:8)

您可以使用

type.getDeclaredConstructor(int.class);

来自section 15.8.2 of the JLS

  

类文字是一个表达式,由类,接口,数组或基本类型的名称或伪类型void组成,后跟“。”。和令牌类。