Java的基本型別只能儲存、傳遞值,若想要像類別型別能有更多的作用,以物件形式存在,則必須裝在「包裝類別」中。
基本型別的包裝器是屬於java.lang
套件,而這是預設,使用時無須額外引入就能使用包裝類別。
項次|基本型別|包裝器
項次 | 基本型別(非物件) | 包裝類別(物件) |
---|---|---|
1 | byte | Byte |
2 | short | Short |
3 | int | Integer |
4 | long | Long |
5 | float | Float |
6 | double | Double |
7 | char | Character |
8 | boolean | Boolean |
※最後兩項是為Object的子類別,其餘皆屬Number抽象類別的子類別。 |
裝箱指的是將前述的基本型別轉換成對應的包裝類別;反之則是拆箱。
int p = 42;
Integer u = new Integer(p); //裝箱;new Integer列為淘汰項目,改為下列
Integer u = 42; //Java 5之後有自動裝箱特性
Integer u = Integer.valueOf(p); //上述其實是呼叫此方法
int g = u.intValue(); //拆箱。intValue為返回int
int g = u; //Java 5之後有自動拆箱特性
可將文字字串轉換,但前提必須是數字格式,否則一樣無法成功轉換唷。
//使用Integer.valueOf,將int或String轉換成Integer包裝類別
//使用Integer.parseInt,將String轉換成int基本型別
String s = "123";
Integer ns = Integer.valueOf(s);
public static Integer valueOf(int i)
public static Integer valueOf(String s)
String a = "123";
int v1 = Integer.parseInt(a); //返回的是int
Integer v2 = Integer.valueOf(a); //返回的是Integer