我們對基本數據類型都非常熟悉,例如int、float、double、boolean、char等。基本數據類型是不具備對象的特性
的,比如基本類型不能調用方法、功能簡單。為了讓基本數據類型也具備對象的特性,Java為每個基本數據類型都提
供了一個包裝類,這樣我們就可以像操作對象那樣來操作基本數據類型。
包裝類(如:Integer,Double等)這些類封裝一個相應的基本數據類型數值,並為其提供了一系列操作。
基本類型和包裝類之間的對應關系:

包裝類主要提供了兩大類方法:
1將本類型和其他基本類型進行轉換的方法;
2將字符串和本類型及包裝類互相轉換的方法。
我們以java.lang.Integer包裝類為例,來看下包裝類的特性。
Integer包裝類的構造方法:

如下代碼所示:

Integer包裝類的常用方法:

實例:
public class Test{
public static void main(String args[]){
//定義int類型變量,值為86
int score1 = 86;
//創建Integer包裝類對象,表示變量score1的值
Integer score2=new Integer(score1);
//將Integer包裝類轉換為double類型
double score3=score2.doubleValue();
//將Integer包裝類轉換為float類型
float score4=score2.floatValue();
//將Integer包裝類轉換為int類型
int score5 =score2.intValue();
//輸出結果
System.out.println("Integer包裝類:" + score2);
System.out.println("double類型:" + score3);
System.out.println("float類型:" + score4);
System.out.println("int類型:" + score5);
}
}
編譯運行結果:

基本類型和包裝類之間經常需要互相轉換,還是以Integer包裝類為例來進行講解,其他包裝類的用法基本相似。
看下面的代碼示例:

在JDK1.5引入自動裝箱和拆箱的機制後,包裝類和基本類型之間的轉換就更加輕松便利了。那什麼是裝箱和拆箱
呢?我們分別來看下:
裝箱:把基本類型轉換成包裝類,使其具有對象的性質,又可分為手動裝箱和自動裝箱。

拆箱:和裝箱相反,把包裝類對象轉換成基本類型的值,又可分為手動拆箱和自動拆箱。

實例:
public class Test{
public static void main(String args[]){
//定義double類型變量
double a = 91.5;
//手動裝箱
Double b = new Double(a);
//自動裝箱
Double c = a;
System.out.println("裝箱後的結果為:" + b + "和" + c);
//定義一個Double包裝類對象,值為8
Double d = new Double(87.0);
//手動拆箱
double e = d.doubleValue();
//自動拆箱
double f = d;
System.out.println("拆箱後的結果為:" + e + "和" + f);
}
}
編譯運行結果:

在程序開發中,我們經常需要在基本數據類型和字符串之間進行轉換。其中,基本類型轉換為字符串有三種法:
1使用包裝類的toString()方法;
2使用String類的valueOf()方法;
3用一個空字符串加上基本類型,得到的就是基本類型數據對應的字符串。

再來看,將字符串轉換成基本類型有兩種方法:
1調用包裝類的parseXxx靜態方法;
2調用包裝類的valueOf()方法轉換為基本類型的包裝類,會自動拆箱。

其他基本類型與字符串的相互轉化這裡不再一一列出,方法都類似。
實例:
public class Test{
public static void main(String args[]){
double m = 78.5;
//將基本類型轉換為字符串
String str1 = Double.toString(m);
System.out.println("m 轉換為String型後與整數20的求和結果為: "+(str1+20));
String str = "180.20";
//將字符串轉換為基本類型
Double a = Double.valueOf(str);
System.out.println("str 轉換為double型後與整數20的求和結果為: "+(a+20));
}
}
編譯運行結果:

(1)所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類Number的子類。

Number類的成員方法:



(2)Character類
1轉義序列
前面有反斜槓(\)的字符代表轉義字符,它對編譯器來說是有特殊含義的。下面列表展示了Java的轉義序列:

2Character類的成員方法:
