今天学习java反射,碰到一个小问题一直想不明白。就是Integer.class和Integer.TYPE有什么区别?这两者都是取得Integer的字节码吗?
7 回答

GCT1015
TA贡献1827条经验 获得超4个赞
jdk文档上的
TYPE
public static final Class TYPE 表示基本类型 int 的 Class 实例。
输出
System.out.println(Integer.class); class java.lang.Integer
System.out.println(Integer.TYPE); int
下面是Integer.TYPE的源码
public static final Class TYPE = (Class) Class.getPrimitiveClass("int");
表示基本类型 int 的 Class 实例,这里注意是基本类型,这样应该能懂了吧

神不在的星期二
TA贡献1963条经验 获得超6个赞
在指定基本类型时,要使用对应的包类并使用.TYPE.
比如,指定int类型时,使用Integer.TYPE
指定Integer类型时,使用Integer.class.
添加回答
举报
0/150
提交
取消