Java自動裝箱踩坑

Java有裝箱和拆箱

把基本數(shù)據類型轉換成包裝類的過程就是打包裝,英文對應于boxing,中文翻譯為裝箱。

反之,把包裝類轉換成基本數(shù)據類型的過程就是拆包裝,英文對應于unboxing,中文翻譯為拆箱。

自動裝箱與拆箱

在Java SE5中,為了減少開發(fā)人員的工作,Java提供了自動拆箱與自動裝箱功能。

自動裝箱: 就是將基本數(shù)據類型自動轉換成對應的包裝類。

自動拆箱:就是將包裝類自動轉換成對應的基本數(shù)據類型。

Integer i =10;  //自動裝箱
int b= i;     //自動拆箱

自動裝箱和自動拆箱原理其實是使用valueOf()和xxValue() 方法實現(xiàn)

Interger i = Interger.valueOf(10);
int b = intValue(i);

經典案例

三目運算符如果操作數(shù)有對象會發(fā)生自動拆箱

boolean flag = true;
    Integer i = 0;
    int j = 1;
    int k = flag ? i : j;

當i為null時,由于會自動拆箱導致報錯空指針異常

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容