天天看點

JAVA常用類之包裝類

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);

此即基本資料類型的自動裝箱功能。