java基本資料型別包裝類

九天高遠發表於2013-08-18

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

    則字串s的值是“14”。

    其實,JDK自從1.5(5.0)版本以後,就引入了自動拆裝箱的語法,也就是在進行基本資料型別和對應的包裝類轉換時,系統將自動進行,這將大大方便程式設計師的程式碼書寫。使用示例程式碼如下:

    //int型別會自動轉換為Integer型別

    int m = 12;

    Integer in = m;

    //Integer型別會自動轉換為int型別

    int n = in;

    所以在實際使用時的型別轉換將變得很簡單,系統將自動實現對應的轉換

 

相關文章