裝箱:將基本型別轉換為包裝類。
integer i1 = 10;//自動裝箱
valueof()方法,裝箱
顯式裝箱
integer i2 = (integer)10;//顯式裝箱
integer i3 = new integer(10);
i3放在棧上, new integer(10)放在堆上。i3儲存的是new integer(10)的位址。
在-128 - 127範圍內,將資料放入快取中,不再這個範圍內,new 乙個新的物件。
valueof()方法
public
static
integer
valueof
(int
i) integer i4 = 128;
integer i5= 128;
system.out.println(i4==i5);//false
system.out.println(i4.equals(i5));//true
拆箱:將包裝類轉換成基本型別。一般來說呼叫intvalue()、doublevalue()方法等。
int ii1 = i1; //拆箱
int ii2 = (int)i1;//顯式拆箱.
總結:自動裝箱時編譯器呼叫valueof將原始型別值轉換成物件,同時自動拆箱時,編譯器通過呼叫類似intvalue(),doublevalue()這類的方法將物件轉換成原始型別值。自動裝箱是將boolean值轉換成boolean物件,byte值轉換成byte物件,char轉換成character物件,float值轉換成float物件,int轉換成integer,long轉換成long,short轉換成short,自動拆箱則是相反的操作。
Java 裝箱 拆箱
1.裝箱過程是通過呼叫包裝器的valueof方法實現的,而拆箱過程是通過呼叫包裝器的 value方法實現的。代表對應的基本資料型別 2.通過valueof方法建立integer物件的時候,如果數值在 128,127 之間,便返回指向integercache.cache中已經存在的物件的引用 否則建立...
java拆箱,裝箱
拆箱,裝箱 將乙個char型別的引數傳遞給需要乙個character型別引數時,那麼編譯器會自動地將char型別引數轉換為character物件。這種特徵稱為裝箱,反過來稱為拆箱。使用character的構造方法建立乙個character類物件,例如 character ch new charact...
java裝箱拆箱
基本資料型別的自動裝箱 autoboxing 拆箱 unboxing 是自j2se 5.0開始提供的功能。一般我們要建立乙個類的物件的時候,我們會這樣 class a new class parameter 裝箱 當我們建立乙個integer物件時,卻可以這樣 integer i 100 注意 不是...