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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 流水0215 中级黑马   /  2015-5-23 23:52  /  547 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Integer aa = 200;
Integer bb = 200;               
System.out.println(aa==bb); //False
System.out.println(aa.equals(bb)); //True
System.out.println("====================");
Integer aaa = -128;
Integer bbb = -128;               
System.out.println(aaa==bbb);//True
System.out.println(aaa.equals(bbb));//True
大家知道在华丽的等号分割线上面和下面的结果为什么不一样嘛?

9 个回复

倒序浏览
JDK 1.5出现的新特性 ,因为当数值在byte范围内(-128~127):如果该数值已存在不会再开辟新空间
第一个比较值不在byte范围内,所以两个对象都会开辟空间,所以地址值不同
第二个比较值在范围内,所以bbb不会开辟空间

点评

一针见血(⊙o⊙)哦  发表于 2015-5-26 23:34
回复 使用道具 举报 2 0
原来如此
回复 使用道具 举报
==比的是地址,equals比的是对象
回复 使用道具 举报
郭.威 发表于 2015-5-26 22:09
==比的是地址,equals比的是对象

学习了!!
回复 使用道具 举报
这个可能和常量池有关吧  模模糊糊有点印象
回复 使用道具 举报
景彬 中级黑马 2015-5-26 23:21:48
7#
Amu 发表于 2015-5-24 00:07
JDK 1.5出现的新特性 ,因为当数值在byte范围内(-128~127):如果该数值已存在不会再开辟新空间
第一个比较 ...

涨姿势了!
回复 使用道具 举报
ddddk 来自手机 中级黑马 2015-5-26 23:25:00
8#
Amu 发表于 2015-5-24 00:07
JDK 1.5出现的新特性 ,因为当数值在byte范围内(-128~127):如果该数值已存在不会再开辟新空间
第一个比较 ...

学习了 这个真的容易忽略
回复 使用道具 举报
这些可能就面试会用吧,开发应该没什么用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马