JDK1 5的拆裝箱

2021-08-02 13:56:16 字數 544 閱讀 2382

integer i1 = 100;

integer i2 = 100;

integer i3 = 200;

integer i4 = 200;

integer類內部有乙個快取,其實就是乙個integer,大小為256,它儲存了-128 ~ 127之間的所有integer物件。

當使用valueof(100)方法時,該方法判斷100在-128~127之間,說明快取中存在這個integer,所以它會直接把快取中的integer返回。

也就是說,valueof(100)兩次,獲取的都是快取中的integer!

如果valueof(200),因為200超出了-128~127範圍,valueof()方法會建立integer物件返回。即return new integer(200);

所以valueof(200)一次,建立乙個integer,valueof(200)兩次,那麼兩個integer物件。

i1和i2是快取中integer物件的兩個引用,也就是說i1和i2引用的是同一物件;

i3和i4是不同的物件,它會範圍超出了快取大小。

JDK 1 5 新特性 自動拆箱裝箱

1.5版本支援了自動包裝和解包操作,對於bool boolean,byte byte,double double,short short,int integer,long long,float float的相應包裝 解包操作都進行了支援,從而使 變得簡單。這裡需要注意的是,基本資料型別和類型別是不一...

JDK1 5的可變引數

乙個方法接收的引數個數不固定。可變引數的特點 1 只能出現在引數列表的最後 2 位於變數型別和變數名之間。前後有空格都可以。3 呼叫可變引數的方法時,編譯器為該可變引數隱含建立乙個陣列,在方法體中以陣列的形式訪問可變引數。例如 package com.howlaa.day02 public clas...

JDK1 5的新特性

1.靜態匯入 靜態匯入得是靜態方法或靜態類 2.可變引數 overload與override的區別 overload是過載,override是重寫 可變引數就是overload 可變引數的特點 1.可變引數中的.只能出現在引數列表的最後 2.可變引數中的.位於變數型別和變數名之間,前後有無空格都可以...