欢迎访问 生活随笔!

生活随笔

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

编程问答

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

发布时间:2025/7/14 编程问答 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 新手学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(四)----装箱与拆箱的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。