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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaihao 中级黑马   /  2014-9-7 20:54  /  1350 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Integer a=127;
Integer b=127;
sop("a==b"+(a==b));结果为true

Integer x=new Integer("123");
Integer y=new Integer(123);
sop("x==y:"+(x==y));结果为false
这俩有什么区别,不都是在byte范围内么,为什么下面那个就要另开辟空间????求大神告知

7 个回复

倒序浏览
“123”为String=4*byte,不谢!
回复 使用道具 举报
沿途小将 发表于 2014-9-7 21:23
“123”为String=4*byte,不谢!

这不是把字符串转换成基本数据类型的方法么,结果不是123么??

点评

不知道诶,,,,,,,  发表于 2014-9-9 18:42
回复 使用道具 举报
还能这么搞啊。。。果然要深究
回复 使用道具 举报
    在自动装箱时对于byte范围的值,它们被装箱为Integer对象后,会存在内存中被重用。   当下面没有使用自动装箱功能的时候,就与new普通类对象一样。  
回复 使用道具 举报
自动装箱?先马一下,还不懂~~~
回复 使用道具 举报
xpaibeyond 发表于 2014-9-7 23:54
在自动装箱时对于byte范围的值,它们被装箱为Integer对象后,会存在内存中被重用。   当下面没有使用自 ...

秒懂,大神啊!!!,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马