天天看點

Java拆裝箱

Java拆裝箱就是​​j​​ava相應的基本資料類型和引用類型的互相轉化。

1、Java拆裝箱是Java1.5的新特性,即是可以這樣定義,Integer count = 5 ;而不會出現IDE編譯不過的錯誤。

2、裝箱就是把byte ,int ,short, long ,double,float,boolean,char 這些Java的基本資料類型在定義資料類型時不聲明為相對應的引用類型,在編譯器的處理下自動轉化為引用類型的動作就叫做裝箱。

3、拆箱就是把Long,Integer,Double,Float 等将基本資料類型的首字母大寫的相應的引用類型轉化為基本資料類型的動作就叫拆箱。

4、以下說明下Java的基本資料類型與引用類型: 

  Java四類八種基本資料類型

  第一類,整型:byte int short long

      short 的位數不能超過4位,否則會報不能由int 轉換成short的編譯錯誤

  第二類,浮點型:double,float ;

      double 可以直接定義如變量名等于73.92,而float要在後面加個f,否則編譯器會認為是double而報轉換 類型錯誤

  第三類,邏輯型:boolean 預設值(預設值)為false

      隻能取值true或者false

  第四類,字元型:char

      單眼号定義,漢字隻能存一個,數字也隻能存一位

除開這八種類型,其他的都是引用類型了

引用類型:類、接口類型、數組類型、枚舉類型、注解類型

5、Java資料類型的存儲位置:

  基本資料類型在被建立時,在棧上給其劃分一塊記憶體,将數值直接存儲在棧上;

  引用資料類型在被建立時,首先要在棧上給其引用(句柄)配置設定一塊記憶體,而對象的具體資訊都存儲在堆 記憶體上,然後由棧上面的引用指向堆中對象的地

6、Java資料類型的比較:

  基礎資料類型的比較隻能使用==号,比的是資料的值,而不能使用equals;引用類型兩個都可以,當使用 ==比較的是記憶體位址,使用equals比較的是堆記憶體裡面的内容

7、拆裝箱的性能:

  盡管Java編譯器能夠幫組我們自動進行相應基本資料與引用類型的互相轉化,但是不太建議程式設計中大量使 用,因為存在二次轉化,考慮性能。

  盡量避免基礎類型與引用類型的自動拆裝箱,損耗性能

  避免 Integer integer = 10;起碼得是Integer integer = new Integer(10);

  盡量不要用Integer.valueOf(String str);而要用Integer.parseInt(String str)

  Integer.valueOf()把String 型轉換為Integer對象。是以在int countNum = ? 的情況下用Integer.parseInt() 很好的,直接變成int類型的值,而不用再拆箱變成基礎類型了。