自動裝箱和自動拆箱理解

2022-03-21 14:30:52 字數 301 閱讀 8156

拆箱:==什麼時候會自動拆箱?

《深入理解jvm虛擬機器》書中的乙個測試例子及解答解析:

第二行:false。不會自動拆箱。和第一行的不同在於數值》128,每次都返回新物件。

第三行:true。會自動拆箱。實際是 int 的比較。

第四行:true。會先觸發自動拆箱過程,再觸發自動裝箱過程。

第五行:true。會自動拆箱。

第六行:false。過程見第四行。但是為什麼結果是false?因為equals方法會先看入參的型別,只有和當前物件型別一致,才比較數值;否則,返回false。

參考:

裝箱和拆箱,自動裝箱和自動拆箱

以integer的建立為例。裝箱 把基本資料型別轉換成包裝類物件 int integer integer num1 new integer 17 拆箱 把乙個包裝類的物件,轉換成基本型別的變數 integer int int num2 num1.intvalue 自動裝箱 integer num3 ...

自動裝箱 和 自動拆箱

自動裝箱 auto boxing 基本型別就自動地封裝到與它相同型別的包裝中,如 integer i 100 本質上是,編譯器編譯時為我們新增了 integer i new integer 100 自動拆箱 unboxing 包裝類物件自動轉換成基本型別資料,如 int a new integer ...

自動裝箱和自動拆箱

public class test206 system.out.println tostring 1234,靜態方法 parseint string s 把數字字串變成int型別的數字 tobinarystring int i 把int數字變為二進位制數的字串形式 tooctalstring int...