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