写点什么

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

作者:测试人
  • 2024-04-11
    北京
  • 本文字数:515 字

    阅读完需:约 2 分钟

本文转自测试人社区,原文链接: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--);//进行计算时隐含的有自动拆箱
复制代码

软件测试开发免费视频教程分享


发布于: 刚刚阅读数: 4
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨什么是装箱和拆箱_软件测试_测试人_InfoQ写作社区