java中的int.class和Integer.TYPE有什么区别?

时间:2012-01-06 14:26:20

标签: java

我想知道Java中的int.class和Integer.TYPE之间的区别吗?

3 个答案:

答案 0 :(得分:16)

绝对没有。如果您运行以下代码,则会看到int.classInteger.TYPE相同。

public class Test {
    public static void main(final String[] args) {
        System.out.println(int.class == Integer.TYPE);
    }
}

答案 1 :(得分:6)

.class 关键字获取Class对象代表基本类型和类类型,而wrapper primitive class .TYPE 字段允许你得到该对象包装的原始类型的Class

答案 2 :(得分:1)

绝对错误检查:

  public static void main(String[] args) {
            System.out.println(int.class.equals(Integer.TYPE));
            System.out.println(Integer.class.equals(Integer.TYPE));
        }

输出: 真正 假

Boolean.TYPE == boolean.class 
Byte.TYPE == byte.class 
Short.TYPE == short.class 
Character.TYPE == char.class 
Integer.TYPE == int.class 
Long.TYPE == long.class 
Float.TYPE == float.class 
Double.TYPE == double.class 
Void.TYPE == void.class