今天學(xué)習(xí)java反射,碰到一個小問題一直想不明白。就是Integer.class和Integer.TYPE有什么區(qū)別?這兩者都是取得Integer的字節(jié)碼嗎?
7 回答

GCT1015
TA貢獻1827條經(jīng)驗 獲得超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 實例,這里注意是基本類型,這樣應(yīng)該能懂了吧

紅糖糍粑
TA貢獻1815條經(jīng)驗 獲得超6個贊
我們菜鳥水平,一般不會用到。 class字節(jié)碼是在反射技術(shù)中用到的,通常是架構(gòu)師的級別。如果你感興趣,可以去看下java 反射技術(shù)

神不在的星期二
TA貢獻1963條經(jīng)驗 獲得超6個贊
在指定基本類型時,要使用對應(yīng)的包類并使用.TYPE.
比如,指定int類型時,使用Integer.TYPE
指定Integer類型時,使用Integer.class.
添加回答
舉報
0/150
提交
取消