java封裝類拆箱

IntegerCache有靜態成員變量cache,爲一個擁有256個元素的數組。在IntegerCache中也對cache進行了初始化,即第i個元素是值爲i-128的Integer
對象。而-128至127是最經常使用的Integer對象,這樣的作法也在很大程度上提升了性能。也正由於如此,「Integeri1=100;Integer i2=100;」,i1與
i2獲得是相同的對象。
當封裝類與基礎類型進行==運行時,封裝類會進行拆箱,拆箱結果與基礎類型對比值;而兩個封裝類進行==運行時,與其它的對象進行==運行同樣,
對比兩個對象的地址,也即判斷是否兩個引用是否指向同一個對象。在+運算時,會將封裝類進行拆箱
若是沒有重寫 equal 方法 ,它與== 同樣,都比較地址。但integer 重寫了該方法 先判斷類型,若是相同則比較值 ,不然~數組

相關文章
相關標籤/搜索