基本類型和包裝類之間常常須要互相轉換,以 Integer 爲例(其餘幾個包裝類的操做雷同哦):java
在 JDK1.5 引入自動裝箱和拆箱的機制後,包裝類和基本類型之間的轉換就更加輕鬆便利了。spa
那什麼是裝箱和拆箱呢?咱們分別來看下.net
裝箱:把基本類型轉換成包裝類,使其具備對象的性質,又可分爲手動裝箱和自動裝箱3d
拆箱:和裝箱相反,把包裝類對象轉換成基本類型的值,又可分爲手動拆箱和自動拆箱code
在實際轉換時,使用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的一個新特性是自動裝箱和自動拆箱。blog
自動裝箱
- 基本類型就自動地封裝到與它類似類型的包裝中,如:Integer i = 100;
- 本質上是,編譯器編譯時自動添加:Integer i = new Integer(100);
自動拆箱
- 包裝類對象自動轉換成基本數據類型。如:int a = new Integer(100);開發
- 本質是上,編譯器編譯時自動添加:int a = new Integer(100).intValue();字符串
擴展文章:JAVA菜鳥入門篇 - Java基本數據類型經常使用包裝類(二十六)get
在程序開發中,咱們常常須要在基本數據類型和字符串之間進行轉換。
其中,基本類型轉換爲字符串有三種方法:
1. 使用包裝類的 toString() 方法
2. 使用String類的 valueOf() 方法
3. 用一個空字符串加上基本類型,獲得的就是基本類型數據對應的字符串
再來看,將字符串轉換成基本類型有兩種方法:
1. 調用包裝類的 parseXxx 靜態方法
2. 調用包裝類的 valueOf() 方法轉換爲基本類型的包裝類,會自動拆箱
PS:其餘基本類型與字符串的相互轉化這裏再也不一一列出,方法都相似