0
点赞
收藏
分享

微信扫一扫

软件测试学习笔记丨什么是装箱和拆箱

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/24130/6

基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。Java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为拆箱)。

通俗的理解:装箱:基本类型转换成封装类型, 拆箱:封装类型转换成基本类型 这么一个过程。

下面以Integer与int之间的转换作为理解,以Java语言为例:

装箱(Autoboxing)

Integer a = 2; //Boxing

简单的理解:将2装在一个箱子里,这个箱子的类型是Integer 。箱子这里面装的数值就是2,我们就完成了一次装箱操作。并把a指向2这个箱子。

Integer b = new Integer(2);//Boxing

显示装箱。生成一个新的箱子 new Integer(); 并且这个箱子的值为2.而且让b指向这个箱子。

拆箱(Unboxing)

故名思议就是将对象重新转化为基本数据类型

int v = a.intValue(); //Unboxing

简单的理解:将里面int的值取出来。拆箱有个很典型的用法就是在进行运算的时候:因为对象时不能直接进行运算的,而是要转化为基本数据类型后才能进行加减乘除。

例如:

Integer c = 5;
System.out.print(c--);//进行计算时隐含的有自动拆箱

举报

相关推荐

0 条评论