新手学JAVA(四)----装箱与拆箱
生活随笔
收集整理的這篇文章主要介紹了
新手学JAVA(四)----装箱与拆箱
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 什么是裝箱?什么是拆箱?
在Java中,Java對每種基本數據類型都提供了對象的包裝器類型。看下表:
???????????????????????????????????????????????????????????????????????????????????????????????????????????包裝類對應表
| byte | Byte |
| boolean | Boolean |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
在Java SE5之前,如果要生成一個數值為50的Integer對象,需要這么進行:
而在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(四)----装箱与拆箱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java与邮件系统交互之使用Socket
- 下一篇: Windows 10 安装