包裝類
- 包裝類
-
- 裝箱和拆箱
- 自動裝箱和自動拆箱
包裝類
基本資料類型,使用起來非常的友善,但是沒有對應的方法來操作這些基本類型的資料,可以使用一個類,把基本資料類型封裝起來,在類中定義一些方法,這個類叫做包裝類,我們可以使用類中的方法來操作這些基本類型的資料;
裝箱和拆箱
基本資料類型和對應的包裝類對象之間,來回轉換的過程
裝箱:從基本資料類型轉換為對應的包裝類對象
以Integer為例:
構造方法:(已過時)
Integer(int value) 建構了一個新配置設定的 Integer表示指定的 int價值。
Integer(String s) 建構了一個新配置設定的 Integer表示 int值表示的 String參數
靜态方法:
static Integer valueOf(int i) 傳回一個 Integer執行個體表示指定的 int價值。
static Integer valueOf(String s) 傳回一個 Integer對象持有指定的 String價值
拆箱:從包裝類對象轉換為對應的基本類型
成員方法:
int intValue() 以int類型傳回該integer類型。
/**
* Integer的裝箱和拆箱
* 裝箱:
* 把基本類型的資料變成包裝類
* 構造方法:
* Integer(int value) 建構了一個新配置設定的 Integer表示指定的 int價值。
* Integer(String s) 建構了一個新配置設定的 Integer表示 int值表示的 String參數
* 靜态方法:
* static Integer valueOf(int i) 傳回一個 Integer執行個體表示指定的 int價值。
* static Integer valueOf(String s) 傳回一個 Integer對象持有指定的 String價值。
*
* 拆箱:
* 在包裝類中取出基本資料類型的資料
* 成員方法:
* int intValue() 以int類型傳回該integer類型
* @author Administrator
* @date 2020-10-15 下午 16:30
*/
public class Demo01Integer {
public static void main(String[] args) {
demo01();
demo02();
}
/**
* 拆箱:
*/
private static void demo02() {
Integer number = new Integer(9390);
int i = number.intValue();
System.out.println(i);
System.out.println();
}
/**
* 裝箱:
* Integer(int value) 建構了一個新配置設定的 Integer表示指定的 int價值。
* Integer(String s) 建構了一個新配置設定的 Integer表示 int值表示的 String參數
*/
private static void demo01() {
//構造方法 已過時
Integer number = new Integer(9390);
Integer numberOne = new Integer("13456");
System.out.println(number);
System.out.println(numberOne);
System.out.println();
//靜态方法
Integer valueOne = Integer.valueOf(1010);
// Integer value = Integer.valueOf("a"); NumberFormatException 數字格式異常 隻能轉換對應類型
Integer valueTwo = Integer.valueOf("9436");
System.out.println(valueOne);
System.out.println(valueTwo);
System.out.println();
}
}
9390
13456
1010
9436
9390
自動裝箱和自動拆箱
由于我們要經常做基本資料類型和包裝類之間的轉換,從java 5 (JDK 1.5)開始,基本資料類型的裝箱和拆箱操作可以自動完成。
Integer i = 4 相當于 Integer i = Integer.valueOf(4);
i= i+5; 相當于 i.Integer.valueOf()+5; 加法運算完之後,再次裝箱,把基本數值轉換成對象;