步遥情感网
您的当前位置:首页int.class java_int.class在Java中是否等于Integer.class或Integer.TYPE?

int.class java_int.class在Java中是否等于Integer.class或Integer.TYPE?

来源:步遥情感网

基于Field.getType()(而不是f.getDeclaringClass()),我得到以下内容:

Type: java.lang.Integer

equals(Integer.class): true

equals(int.class) : false

equals(Integer.TYPE) : false

== (Integer.class) : true

== (int.class) : false

== (Integer.TYPE) : false

Type: int

equals(Integer.class): false

equals(int.class) : true

equals(Integer.TYPE) : true

== (Integer.class) : false

== (int.class) : true

== (Integer.TYPE) : true

Type: java.lang.Object

equals(Integer.class): false

equals(int.class) : false

equals(Integer.TYPE) : false

== (Integer.class) : false

== (int.class) : false

== (Integer.TYPE) : false

意义如下:

Integer.TYPE.equals(int.class)

Integer.TYPE == int.class

意思如果我想知道我是处理一个int还是一个整数,我可以使用以下任何一个测试:

isInteger = c.equals(Integer.class) || c.equals(Integer.TYPE);

isInteger = c.equals(Integer.class) || c.equals(int.class);

isInteger = (c == Integer.class) || (c == Integer.TYPE);

isInteger = (c == Integer.class) || (c == int.class );

我错过了一个角落的情况吗?如果是,请评论。

因篇幅问题不能全部显示,请点此查看更多更全内容