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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kfcka 中级黑马   /  2015-2-13 20:22  /  1315 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Integer x=4;
x=x+2;
sop(x);
说明其运行过程?

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

6 个回复

正序浏览
lwj123 金牌黑马 2015-2-15 19:34:33
7#
反编译后是这样的:
Integer i = 4;等价于Integer i = Integer.valueOf(4);这是自动装箱的过程
x=x+2;等价于x = x.intValue()+4:这是自动拆箱的过程
Integer x = 4;并不是调用new Integer(4);楼上好像错了
回复 使用道具 举报

Integer x=4   相当于new Integer(4);  到1.5版本以后可以自动装箱,
x=x+2 就相当于x=new Integer(x.intValue()+6)       x.intValue()(拆箱),就是将x先拆箱再装箱的步骤
回复 使用道具 举报
简单,先将4装箱,再将2装箱,然后再将x拆箱,然后打印出x的数值。。。。
回复 使用道具 举报
一楼正解,Integer是讲int数据类型装箱成一个对象
回复 使用道具 举报
huangchunwei 来自手机 中级黑马 2015-2-14 23:31:52
藤椅
如果需要用基本类型进行运算,则会自动拆箱(把包装类拆箱成其基本类型进行运算)。如果需要对对象进行操作,则会自动装箱(把基本类型数据装箱成其包装类)。
回复 使用道具 举报
Integer x=4;     自动装箱
x=x+2;             自动拆箱,自动装箱
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马