Java資料型別包裝器


Java庫在java.lang包中提供了八個類來表示八種基本型別中的每一種。這些類稱為包裝類,因為它們在物件中包裝原始值。
下表列出了原始型別及其相應的包裝類。

基本型別 包裝類
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

方法

所有包裝類都是不可變的。 它們提供了兩種方法來建立它們的物件:

  • 使用建構函式
  • 使用valueOf()工廠方法

除了Character之外,每個包裝類都提供至少兩個建構函式:一個採用對應基本型別的值,另一個採用String型別值。

Character類只提供一個接受char的建構函式。

範例

以下程式碼建立一些包裝類的物件:

public class Main {
  public static void staticMethod() {
    // Creates an Integer object from an int
    Integer intObj1 = new Integer(100);

    // Creates an Integer object from a String
    Integer intObj2 = new Integer("1969");

    // Creates a Double object from a double
    Double doubleObj1 = new Double(10.45);

    // Creates a Double object from a String
    Double doubleObj2 = new Double("234.60");

    // Creates a Character object from a char
    Character charObj1 = new Character('A');

    // Creates a Boolean object from a boolean
    Boolean booleanObj1 = new Boolean(true);

    // Creates Boolean objects from Strings
    Boolean booleanTrue = new Boolean("true");
    Boolean booleanFalse = new Boolean("false");
  }
}

valueOf()

建立包裝類物件的另一種方法是使用它們的valueOf()方法。valueOf()方法是一個靜態的方法。
以下程式碼使用它們的valueOf()方法建立一些包裝器類的物件:

public class Main {
  public static void staticMethod() {
    Integer  intObj1 = Integer.valueOf(100); 
    Integer  intObj2 = Integer.valueOf("2014"); 
    Double  doubleObj1  = Double.valueOf(10.45); 
    Double  doubleObj2  = Double.valueOf("234.56"); 
    Character charObj1   = Character.valueOf('A');
  }
}