在 JDK1.5 引入自動裝箱和拆箱的機制后,包裝類和基本類型之間的轉換就更加輕松便利了。
那什么是裝箱和拆箱呢?我們分別來看下
裝箱:把基本類型轉換成包裝類,使其具有對象的性質,又可分為手動裝箱和自動裝箱
拆箱:和裝箱相反,把包裝類對象轉換成基本類型的值,又可分為手動拆箱和自動拆箱
在實際轉換時,使用Integer類的構造方法和Integer類內部的intValue方法實現這些類型之間的相互轉換,實現的代碼如下:
int n = 10; Integer in = new Integer(100); //將int類型轉換為Integer類型 Integer in1 = new Integer(n); //將Integer類型的對象轉換為int類型 int m = in.intValue();
JDK5.0的一個新特性是自動裝箱和自動拆箱。
自動裝箱
- 基本類型就自動地封裝到與它相似類型的包裝中,如:Integer i = 100;
- 本質上是,編譯器編譯時自動添加:Integer i = new Integer(100);
自動拆箱
- 包裝類對象自動轉換成基本數據類型。如:int a = new Integer(100);
- 本質是上,編譯器編譯時自動添加:int a = new Integer(100).intValue();
擴展文章:JAVA菜鳥入門篇 - Java基本數據類型常用包裝類(二十六)
基本類型和字符串之間的轉換
在程序開發中,我們經常需要在基本數據類型和字符串之間進行轉換。
其中,基本類型轉換為字符串有三種方法:
1. 使用包裝類的 toString() 方法
2. 使用String類的 valueOf() 方法
3. 用一個空字符串加上基本類型,得到的就是基本類型數據對應的字符串
再來看,將字符串轉換成基本類型有兩種方法:
1. 調用包裝類的 parseXxx 靜態方法
2. 調用包裝類的 valueOf() 方法轉換為基本類型的包裝類,會自動拆箱
PS:其他基本類型與字符串的相互轉化這里不再一一列出,方法都類似