91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java之怎么正確地對包裝類進行裝箱與拆箱

發布時間:2023-04-28 17:56:55 來源:億速云 閱讀:146 作者:iii 欄目:開發技術

這篇文章主要介紹“Java之怎么正確地對包裝類進行裝箱與拆箱”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java之怎么正確地對包裝類進行裝箱與拆箱”文章能幫助大家解決問題。

    一. 裝箱

    1. 概念

    所謂的裝箱(Boxing),其實就是將基本類型轉換成包裝類,例如把double變成Double。裝箱分為手動裝箱和自動裝箱(Auto Boxing),如果我們手動實例化一個包裝類,這就是手動裝箱。在JDK 1.5之前,必須進行手動裝箱;JDK 1.5之后,可以進行自動裝箱,不用再進行手工操作,這就簡化了開發,提供了方便。

    2. 案例

    下面的案例是手動裝箱和自動裝箱的實現過程。在JDK 1.5前后,裝箱有手動裝箱和自動裝箱之分,大家要注意。

    public class BoxTest {
        public static void main(String[] args) {
    	//JDK 1.5之前的拆裝箱過程--手動拆裝箱
    	byte b = 10;
    	//手動裝箱
    	Byte b1 = Byte.valueOf(b);
    	System.out.println("手動裝箱后的結果,b1="+b1);
            //手動裝箱的另一種形式
    	int m = 100;
            Integer obj = new Integer(m);  
            //手動拆箱的另一種形式
            int n = obj.intValue(); 
            System.out.println("n = " + n);
    	//JDK 1.5之后的拆裝箱過程--自動拆裝箱        
    	int i = 10;
    	//自動裝箱
    	Integer i001 = i;
    	System.out.println("自動裝箱后的結果,i001="+i001);
        }
    }

    二. 拆箱

    1. 概念

    所謂的拆箱(Unboxing),其實就是將包裝類型轉換成基本類型,例如把Double變成double。同樣的,拆箱也分為手動拆箱和自動拆箱(Auto Boxing),手動實例化操作包裝類,就是手動拆箱。在JDK 1.5之前必須手動進行拆箱,JDK 1.5之后就可以自動拆箱了。

    2. 案例

    下面的案例是手動拆箱和自動拆箱的實現過程。在JDK 1.5前后,拆箱有手動拆箱和自動拆箱之分,大家要注意。

    public class BoxTest {
        public static void main(String[] args) {
    	//JDK 1.5之前的拆裝箱過程--手動拆裝箱
    	byte b = 10;
    	//手動裝箱
    	Byte b1 = Byte.valueOf(b);
    	System.out.println("手動裝箱后的結果,b1="+b1);
    	//手動拆箱
    	byte b2 = b1.byteValue();
    	System.out.println("手動拆箱后的結果="+b2);
    	//JDK 1.5之后的拆裝箱過程--自動拆裝箱        
    	int i = 10;
    	//自動裝箱
    	Integer i001 = i;
    	System.out.println("自動裝箱后的結果,i001="+i001);
    	//自動拆箱
    	int i002 = i001;
    	System.out.println("自動拆箱后的結果,i002="+i002);
        }
    }

    3. 小結

    我們要注意,自動裝箱和自動拆箱只發生在編譯階段,其目的是為了減少代碼的編寫。從性能上來看,裝箱和拆箱的過程會影響代碼的執行效率,因為編譯后的class代碼是嚴格區分基本類型和引用類型的,所以編譯階段的裝箱和拆箱,在編譯后還是要回歸原始。另外在自動拆箱時,如果賦值不當,有可能會產生NullPointerException異常,如下所示:

    Integer n = null;
    //這里就會產生NPE空指針異常
    int m = n;

    關于“Java之怎么正確地對包裝類進行裝箱與拆箱”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    博乐市| 达拉特旗| 阳曲县| 博爱县| 孝感市| 齐齐哈尔市| 行唐县| 德昌县| 芜湖市| 宽城| 绥棱县| 油尖旺区| 赤壁市| 华阴市| 新野县| 洛浦县| 奈曼旗| 安达市| 西平县| 团风县| 扶沟县| 福安市| 峡江县| 龙海市| 张家口市| 饶平县| 玉环县| 长泰县| 循化| 酉阳| 扬州市| 永和县| 奇台县| 高州市| 雷山县| 宁波市| 礼泉县| 莱芜市| 大关县| 锡林郭勒盟| 沙湾县|