资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

简述拆箱和装箱

Java 更新时间: 发布时间: 计算机考试归档 最新发布

简述拆箱和装箱

包装类、拆箱和装箱 简述数据类型和包装类

Java中有8大基本数据类型,其为每种基本数据类型都提供了对应的包装器类型。

包装类型基本数据类型
boolean(未知)Boolean
byte(2字节)Byte
char(2字节)Character
short(2字节)Short
int(4字节)Integer
long(8字节)Long
float(4字节)Float
double(8字节)Double
为什么要提供包装类型

Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,**(JDK5以前)**就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装Object的,这是就需要这些基本类型的包装器类了。

声明一个包装类

以Character为例,声明一个字符A的包装类,JDK 5以前的声明方式

Character ch = new Character('A');     // 包装类  变量名  =  new  包装类(字符);

JDK 5以后,提供了自动装箱功能,可以自动根据字符创建对应的Character对象。

Character ch = 'A';         //  包装类  变量名  = 字符;

既然有了装箱,就必然存才拆箱。顾名思义,就是自动将包装类对象转化为基本数据类型。

Character ch = 'A';         //  包装类  变量名  = 字符;
char c = ch;			//拆箱

下图是字节码和源码对比图

通过字节码文件,我们可以看出,在装箱时自动调用了Character.valueOf(char c),在拆箱时自动调用了Character.charValue()。经过实验,其他包装类也具备类似的过程。

总结一下:

​ 装箱:自动将基本数据类型装换为包装类对象,通过包装类的valueOf()实现。

​ 拆箱:自动将包装类对象装换为基本数据类型,通过包装类的xxValue()(xx是对应的基本数据类型)。

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/940495.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【简述拆箱和装箱】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2