Java中的基本數據類型是不能直接參與面向對象的操作的,于是一個名為“包裝類”的機制應運而生。包裝類就是將基本類型用類類封裝了起來,使得基本類型具備了面向對象的特征。
Java中的包裝類有八種,分別是:Boolean、Character、Byte、Short、Integer、Long、Float和Double。
Java中的裝箱和拆箱是指將基本類型數據與其相應的包裝類類型之間進行轉換。
1. 裝箱
int i = 10; Integer integer = new Integer(i);
以上代碼將int類型的變量i裝箱為Integer類型的變量integer。
2. 拆箱
Integer integer = new Integer(10); int i = integer.intValue();
以上代碼將Integer類型的變量integer拆箱為int類型的變量i。
Java 5.0之后引入了自動裝箱和自動拆箱的特性,使得裝箱和拆箱操作更加方便。
1. 自動裝箱
int i = 10; Integer integer = i;
以上代碼將int類型的變量i自動裝箱為Integer類型的變量integer。
2. 自動拆箱
Integer integer = new Integer(10); int i = integer;
以上代碼將Integer類型的變量integer自動拆箱為int類型的變量i。
使用包裝類和裝箱拆箱機制可以讓基本類型數據也可以像類一樣參與Java中的面向對象操作,例如在集合類中存儲基本類型數據,計算表達式等場景。