簡述自動拆裝箱

2021-09-25 20:21:14 字數 1021 閱讀 4845

基本資料型別:

整型:byte ==》byte ------------------------1位元組

short ==》short ------------------------2位元組

int ==》integer ------------------------4位元組

long ==》long ------------------------8位元組

浮點:float ==》float ------------------------4位元組

double ==》double ------------------------8位元組

字元:char ==》character ------------------------2位元組

布林:boolean ==》boolean ------------------------1位元組

拆裝箱

public static void main(stringargs)

反編譯之後:

public static void main(stringargs)

所以得出

int型別的裝箱是通過integer.valueof()得到,拆箱是通過integer.intvalue()實現。

也就是說裝箱是通過***.valueof實現,拆箱是通過***.***value實現

引用型別的比較

整數在-128 至 +127區間,兩個同樣的數字用 == 來比較沒問題,但數字

大小超出這個範圍,返回的結果就會變成false。因為integer使用了快取

機制來提高效能。在區間內直接使用快取,不需要重新建立物件。超出

之後則需要重新建立物件,這個時候需要用 equals 來進行比較值。

拆裝箱雖然可以提高效能,但是在大量處理拆裝箱資料時候也會浪費資源。

而且包裝型別為null的時候,拆箱就會出現空指標異常(npe)。

自動拆裝箱

目的 簡化 書寫,封裝類可以提供對基本型別的基本操作,當使用集合框架時需要放入的是物件,不能放入基本型別資料 1.自動裝箱 integer i 3 實際會轉換為integer.valueof 3 2.自動拆箱 int j i 實際會轉換為 i.intvalue 3.自動拆裝箱易混 integer a...

自動拆裝箱

自動拆裝箱分為拆箱和裝箱。拆箱 把包裝類轉換為對應的基本資料型別 裝箱 把基本資料型別轉換為對應的包裝類 ps 基本資料型別對應的包裝類見 五 擴充套件所有的包裝類都有多個相同方法,其中有乙個為valueof 這個方法就是將基本資料型別轉換為對應的包裝類。同時有乙個類似的方法為?value 其中?代...

自動拆 裝箱

自動裝箱 如果乙個int型常量被傳遞到需要乙個integer物件的地方,那麼編譯器將在幕後插入乙個對integer構造方法的呼叫,這就叫做自動裝箱 1 integer i 12 自動拆箱 如果乙個integer物件被放到需要int型量的地方,則編譯器將在幕後插入乙個對intvalue方法的呼叫,這就...