[java基礎] java中的自動裝箱與自動拆箱

自動裝箱的一個例子:

Integer i = 1; //實際上是執(zhí)行了Integer i = Integer.valueOf(1)

自動拆箱的一個例子:

Integer a =1;
int b = a; //自動拆箱就是從對象中把基本數(shù)據(jù)取出來

Integer自動拆箱的一個好玩的例子:

Integer a = 100;
Integer b = 100;
System.out.println(a==b); // true

Integer c = 200;
Integer d = 200;
System.out.println(c == d); // false
原因如下:

public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
并不是所有的valueOf都是這么玩的,F(xiàn)loat.valueOf 就是直接返回一個 新對象。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容