java語言包裝類把基本資料類型轉換為對象。每個java基本類型在java.lang包中都有一個相應的包裝類。
基本類型
包裝類
boolean
byte
char
character
short
int
integer
long
float
double
每個包裝類都有幾種重載形式,以double為例。
除character之外,其他的包裝類都可以以一個字元串為參數構造出他們的執行個體。
當包裝類的構造方法參數為string類型時,字元串不能為空,而且該字元串必須可以解析為相應的基本資料類型。
character類和boolean類直接繼承自object類,除此之外,其他的包裝類都是java.lang.number的直接子類,是以都繼承或覆寫重寫了java.lang.number類中的方法。
傳回值
方法名
說明
bytevalue()
以 byte 形式傳回指定的數值
abstract double
doublevalue()
以 double 形式傳回指定的數值
abstract float
floatvalue()
以 float 形式傳回指定的數值
abstract int
intvalue()
以 int 形式傳回指定的數值
abstract long
longvalue()
以 long 形式傳回指定的數值
shortvalue()
以 short 形式傳回指定的數值
包裝類都覆寫了object類中的tostring()方法,以字元串形式傳回被包裝的基本資料類型。除了character類和boolean類外,包裝類都有valueof(string s)靜态工廠方法,可以将指定字元串解析成與之對應的基本類型。同樣,字元串不能為空,而且該字元串必須可以解析為相應的基本資料類型。
jdk1.5及以後版本運作基本類型和包裝類型進行混合運算。在jdk1.5版本之前,數學運算表達式中操作單元必須是基本資料類型。
裝箱:把基本類型用它們相應的引用類型包裝起來,使其具有對象的性質。int包裝成integer、float包裝成float。
拆箱:和裝箱相反,将引用類型的對象簡化成值類型的資料。
基本資料類型的自動裝箱(autoboxing)、拆箱(unboxing)是自j2se 5.0開始提供的功能。
一般我們要建立一個類的對象執行個體的時候,我們會這樣:
class a = new class(parameter);
當我們建立一個integer對象時,卻可以這樣:
integer i = 100; (注意:不是 int i = 100; )
實際上,執行上面那句代碼的時候,系統為我們執行了:integer i = integer.valueof(100);
此即基本資料類型的自動裝箱功能。