Java語言是一個面向對象的語言,但是Java中的基本資料類型卻是不面向對象的,這在實際使用時存在很多的不便,為了解決這個不足,在設計類時為每個基本資料類型設計了一個對應的類進行代表,這樣八個和基本資料類型對應的類統稱為包裝類(Wrapper Class),有些地方也翻譯為外覆類或資料類型類。
包裝類均位于java.lang包,包裝類和基本資料類型的對應關系如下表所示:
包裝類對應表
基本資料類型
包裝類
byte
Byte
boolean
Boolean
short
Short
char
Character
int
Integer
long
Long
float
Float
double
Double
在這八個類名中,除了Integer和Character類以後,其它六個類的類名和基本資料類型一直,隻是類名的第一個字母大寫即可。
對于包裝類說,這些類的用途主要包含兩種:
a、作為和基本資料類型對應的類類型存在,友善涉及到對象的操作。
b、包含每種基本資料類型的相關屬性如最大值、最小值等,以及相關的操作方法。
由于八個包裝類的使用比較類似,下面以最常用的Integer類為例子介紹包裝類的實際使用。
1、實作int和Integer類之間的轉換
在實際轉換時,使用Integer類的構造方法和Integer類内部的intValue方法實作這些類型之間的互相轉換,實作的代碼如下:
int n = 10;
Integer in = new Integer(100);
//将int類型轉換為Integer類型
Integer in1 = new Integer(n);
//将Integer類型的對象轉換為int類型
int m = in.intValue();
2、Integer類内部的常用方法
在Integer類内部包含了一些和int操作有關的方法,下面介紹一些比較常用的方法:
a、parseInt方法
public static int parseInt(String s)
該方法的作用是将數字字元串轉換為int數值。在以後的界面程式設計中,将字元串轉換為對應的int數字是一種比較常見的操作。使用示例如下:
String s = “123”;
int n = Integer.parseInt(s);
則int變量n的值是123,該方法實際上實作了字元串和int之間的轉換,如果字元串都包含的不是都是數字字元,則程式執行将出現異常。(說明:異常的概念将在下一章進行講述)
另外一個parseInt方法:
public static int parseInt(String s, int radix)
則實作将字元串按照參數radix指定的進制轉換為int,使用示例如下:
//将字元串”120”按照十進制轉換為int,則結果為120
int n = Integer.parseInt(“120”,10);
//将字元串”12”按照十六進制轉換為int,則結果為18
int n = Integer.parseInt(“12”,16);
//将字元串”ff”按照十六進制轉換為int,則結果為255
int n = Integer.parseInt(“ff”,16);
這樣可以實作更靈活的轉換。
b、toString方法
public static String toString(int i)
該方法的作用是将int類型轉換為對應的String類型。
使用示例代碼如下:
int m = 1000;
String s = Integer.toString(m);
則字元串s的值是”1000”。
另外一個toString方法則實作将int值轉換為特定進制的字元串:
public static int parseInt(String s, int radix)
使用示例代碼如下:
int m = 20;
String s = Integer.toString(m);
則字元串s的值是”14”。
其實,JDK自從1.5(5.0)版本以後,就引入了自動拆裝箱的文法,也就是在進行基本資料類型和對應的包裝類轉換時,系統将自動進行,這将大大友善程式員的代碼書寫。使用示例代碼如下:
//int類型會自動轉換為Integer類型
int m = 12;
Integer in = m;
//Integer類型會自動轉換為int類型
int n = in;
是以在實際使用時的類型轉換将變得很簡單,系統将自動實作對應的轉換。