A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

装箱就是转型吗?转型就是转装箱?
如:byte b= 1+1;这里发生的是装箱?还是转型?
再如:int数据装箱成Integer对象,不是把int数据装到里面去?
int与Interger根本都没发生继承关系,根本就不是同一个类型的,怎么转型?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
byte b= 1+1;这里发生的是是转型。
int是基本数据类型,Integer对象是对象,把基本数据类型变成相应的对象就是自动装箱。
int不是类,肯定不能和Integer发生什么继承关系。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
byte b= 1+1;个人认为这里既不涉及转型也不涉及装箱,这就是个简单的赋值吧
int i=1;
byte b1 = (byte) (i+1);//这里就涉及到数据类型转换,但不是转型
转型和装箱不是一个意思,转型的类型之间是有父子关系的
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。所以把int类型封装成Integer对象才是装箱,

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
自动装箱:将基本数据类型包装在与之对应的java类中(四类八种)
其字节码相同,int 是Integer的一个实例对象

byte Byte
short short   
int Integer        整形
long Long

float Float        浮点型
double Double

boolean Boolean    布尔型

char Character     字符型

强制类型转换:向上或者向下转型,属于多态

例子:
Integer i = 3;//自动装箱不需要手动写成Integer i = (Integer)3;
Object obj = (Object)"abc";//类型强转(类型提升,属于多态),手动完成
               
System.out.println(i);//自动拆箱
System.out.println(obj);

谢谢你上次帮我回答的问题哈,我懂了

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
跟楼主学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马