日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

新手学JAVA(四)----装箱与拆箱

發布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新手学JAVA(四)----装箱与拆箱 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 什么是裝箱?什么是拆箱?


在Java中,Java對每種基本數據類型都提供了對象的包裝器類型。看下表:

???????????????????????????????????????????????????????????????????????????????????????????????????????????包裝類對應表

基本數據類型包裝類
byteByte
booleanBoolean
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble


在Java SE5之前,如果要生成一個數值為50的Integer對象,需要這么進行:

Integer obj = new Integer(50);

而在Java SE5開始,Java就封裝了自動裝箱的特性,定義數值是這樣做就可以:

Integer obj = 50;

這個過程中自動根據數值創建Integer對象,就叫裝箱;

簡單一點說,裝箱就是 自動將基本數據類型轉換為包裝器類型;拆箱就是 自動將包裝器類型轉換為基本數據類型。

那什么是拆箱?和裝箱對象,就是將包裝器類型轉換成基本數據類型。拆裝箱的過程如下圖:



二 拆裝箱是如何實現的?


我們以Double類型為例,先看下面的一段代碼:

public class Main{public static void main(String[] args){Double DB = 10.34;double db=DB;} }

然后我們對這段代碼進行反編譯,結果如下:

然后咱們換成Integer類型的再試試,直接看結果:

看出有什么相同來了沒有,程序在自動裝箱的時候自動調用valueof方法,在拆箱的時候,調用相應的類型的”**.**Value”方法。

由此可以看出,程序的自動裝箱是調用包裝器類型的valueof方法,而拆箱是調用包裝器的”**.**Value”方法來實現的。

總結

以上是生活随笔為你收集整理的新手学JAVA(四)----装箱与拆箱的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。