自动装箱拆箱

Posted wurengen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动装箱拆箱相关的知识,希望对你有一定的参考价值。

 

在需要的情况下,基本类型与包装类型可以通用。有些时候我们必须使用引用数据类型时,可以传入基本数据类型。基本类型可以使用运算符直接进行计算,但是引用类型不可以。而基本类型包装类作为引用类型的一种却可以计算,原因在于,Java”偷偷地”自动地进行了对象向基本数据类型的转换。

相对应的,引用数据类型变量的值必须是new出来的内存空间地址值,而我们可以将一个基本类型的值赋值给一个基本类型包装类的引用。原因同样在于Java”偷偷地”自动地进行了基本数据类型向对象的转换。

自动拆箱:对象转成基本数值

自动装箱:基本数值转成对象

Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);

i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5; 加法运算完成后,再次装箱,把基本数值转成对象。

自动装箱(byte常量池)细节的演示

当数值在byte范围之内时,进行自动装箱,不会新创建对象空间而是使用医来已有的空间。

Integer a = new Integer(3);

Integer b = new Integer(3);

System.out.println(a==b);//false

System.out.println(a.equals(b));//true

 

以上是关于自动装箱拆箱的主要内容,如果未能解决你的问题,请参考以下文章

java 自动装箱和拆箱

装箱与拆箱

Java 自动装箱与拆箱

了解Java的自动装箱与拆箱

自动装箱和拆箱的几个细节

装箱和拆箱---JAVA基础篇