包裝類,包裝類的自動裝箱和自動拆箱


目標

1)包裝類的作用,

2)掌握包裝類的自動裝箱和自動拆箱操作。

3)掌握包裝類的轉換操作。

具體內容

一切皆對象,八種基本數據類型不是對象。

把Int包裝成一個類,這樣的一個類就可以以對象的形式操作基本數據類型。

包裝類

這八種包裝類所繼承的父類不全都相同。

1)Integer ,Byte,Float,Double,Short,Long都屬於Number類的子類,Number類本身提供了一系列的返回

以上六種基本數據類型的操作。

2)Character屬於Object子類。

3)Boolean屬於Object子類。

Number類的作用

那么Number類是一個抽象類,主要是將數字包裝類中內容變成基本數據類型。

主要操作方法如下:

以Integer和Float為例:

裝箱及拆箱

1)將基本數據類型變成包裝類稱為裝箱。

2)將包裝類的類型變為基本數據類型稱為拆箱。

public class WrapperDemo01{
    public static void main(String args[]){
        int x = 30 ;        // 基本數據類型
        Integer i = new Integer(x) ;    // 裝箱:將基本數據類型變為包裝類
        int temp = i.intValue()    ;// 拆箱:將一個包裝類變為基本數據類型
    }
};

下面再以小數為例:

public class WrapperDemo02{
    public static void main(String args[]){
        float f = 30.3f ;        // 基本數據類型
        Float x = new Float(f) ;    // 裝箱:將基本數據類型變為包裝類
        float y = x.floatValue()    ;// 拆箱:將一個包裝類變為基本數據類型
    }
};

在JDK1.5之前,對於程序本身來說,包裝類不能直接進行“+,-,*,/,++,--”等操作,因為是一個類,

所以不能這么操作。

但是在JDK1.5之后,對程序的包裝類功能進行了改變,增加了自動裝箱和自動拆箱功能,而且,可以使用包裝類直接進行數字運行。

自動裝箱和自動拆箱也就是,可以自動由int-->Integer類型轉變,而自動拆箱就是自動由Integer-->int轉變

public class WrapperDemo03{
    public static void main(String args[]){
        Integer i = 30 ;    // 自動裝箱成Integer
        Float f = 30.3f ;    // 自動裝箱成Float
        int x = i ;            // 自動拆箱為int
        float y = f ;        // 自動拆箱為float
    }
};

在包裝類中還有一個最大的特點,

將字符串變為指定的數據類型。

如:講一個全由數字組成的字符串變為一個int或者float類型的數據。

在Integer和Float類中分別提供了以下兩種方法:

1)Integer類(字符串轉int類型):public static int parseInt(String s);

2)Float類(字符串轉float類型):public static float parseFloat(String s);

static關鍵字修飾的方法,直接由類調用

注意:這里的String s,必須由數字組成。

public class WrapperDemo04{
    public static void main(String args[]){
        String str1 = "30" ;    // 由數字組成的字符串
        String str2 = "30.3" ;    // 由數字組成的字符串
        int x = Integer.parseInt(str1) ;    // 將字符串變為int型
        float f = Float.parseFloat(str2) ;    // 將字符串變為int型
        System.out.println("整數乘方:" + x + " * " + x + " = " + (x * x)) ;
        System.out.println("小數乘方:" + f + " * " + f + " = " + (f * f)) ;
    }
};
運行結果:

整數乘方:30 * 30 = 900
小數乘方:30.3 * 30.3 = 918.08997

 

從初始化參數獲取字符串:

public class WrapperDemo05{
    public static void main(String args[]){
        int x = Integer.parseInt(args[0]) ;    // 將字符串變為int型
        float f = Float.parseFloat(args[1]) ;    // 將字符串變為int型
        System.out.println("整數乘方:" + x + " * " + x + " = " + (x * x)) ;
        System.out.println("小數乘方:" + f + " * " + f + " = " + (f * f)) ;
    }
};

總結

1)java中有8種基本數據類型的包裝類,可以將基本數據類型以類的形式操作。

2)基本數據類型變為包裝類的過程,稱為裝箱,將包裝類變為基本數據類型的過程稱為拆箱。

3)在JDK1.5之后,提供了自動裝箱和自動拆箱功能。

4)使用包裝類,可以將字符串實現基本數據類型的轉換操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM