1. 程式人生 > 其它 >JAVA中包裝類的使用

JAVA中包裝類的使用

技術標籤:java包裝類java

JAVA中包裝類的使用

1.包裝類的概念
由於基本資料型別沒有類和物件的概念,java的設計理念是萬事萬物皆物件。
所以特定為每一種基本資料型別量身定製了一個屬於自己的類,稱為包裝類。
在這裡插入圖片描述

2.包裝類的應用
由於集合中不能儲存基本資料型別,我們所看到的 list.add(6);事實上儲存的都是包裝型別,由基本資料型別升級成包裝類的過程叫做“裝箱”,反之稱為“拆箱”;
1.裝箱—拆箱 包裝類 –基本資料型別 自動進行
2.向上轉型—向下轉型 父類—子類
3.強制型別轉換—自動轉換 byte-short-int-long float-double

3.包裝類的構造方法

1.所有包裝類都可將與之對應的基本資料型別作為引數,來構造它們的例項
2.除Character類外,其他包裝類可將一個字串作為引數構造它們的例項
注意事項
1.Boolean類構造方法引數為String型別時,若該字串內容為true(不考慮大小寫),則該Boolean物件表示true,否則表示false
2.當Number包裝類(除了Character和Boolean其它的包裝類)構造方法引數為String 型別時,字串不能為null,且該字串必須可解析為相應的基本資料型別的資料,否則編譯不通過,執行時會丟擲NumberFormatException異常
總結:
1.包裝類的構造方法一般都有過載,一個構造方法的引數是對應的基本資料型別,另一個構造方法的引數是字串型別。

4.包裝類的常用方法
1.XXXValue():包裝類轉換成基本型別(例項方法)
byteValue()、intValue()、longValue()、shortValue()、doubleValue()、floatValue()
charValue()、booleanValue()

2.toString():以字串形式返回包裝物件表示的基本型別資料(基本型別->字串)
(靜態方法)
3. parseXXX():把字串轉換為相應的基本資料型別資料(Character除外)(字串->基本型別)(靜態方法)
4.valueOf()(靜態方法)
(1)所有包裝類都有如下方法(基本型別->包裝類)

public static Type valueOf(type value)
(2)除Character類外,其他包裝類都有如下方法(字串->包裝類)
public static Type valueOf(String s)

案例

public class Wrapper {
    public static void main(String[] args) {
        //1.構造方法--裝箱
        Integer i1 = new Integer(6);
        Integer i2 = new Integer("123");
        Double d1 = new Double(2.36);

        Boolean b1 = new Boolean(true);
        Boolean b2 = new Boolean("true");

        Character c1 = new Character('a');

        //2.例項方法:xxxValue--拆箱
        int i = i1.intValue();
        boolean b = b1.booleanValue();
        char c = c1.charValue();

        //3.靜態方法toString--基本型別-->String
        String s = Integer.toString(6);
        String s1 = Double.toString(3.26);

        //4.靜態方法parsexxx String ->基本型別
        int i3 = Integer.parseInt("6");
        boolean aTrue = Boolean.parseBoolean("true");

        //5.靜態方法 valueOf--裝箱
        Integer integer = Integer.valueOf(6);
        Double aDouble = Double.valueOf(2.14);

        //6.靜態方法:compare 比較 ,返回int
        int i4 = Double.compare(3.6, 3.8);
        System.out.println(i4);
    }
}