码迷,mamicode.com
首页 > 其他好文 > 详细

两个Integer变量a和b,值相等,a==b等于多少?

时间:2018-04-07 17:40:25      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:常用   内存   blog   XML   als   log   数字   out   data-   

Integer a = Integer.valueOf(127);
Integer b = Integer.valueOf(127);
 
Integer c = Integer.valueOf(128);
Integer d = Integer.valueOf(128);
 
System.out.println(a == b);
System.out.println(c == d);
 
结果:
true
false
 
原因:
技术分享图片
Integer类已经对数字0-127做了一个缓存,创建0-127这些常用整数类型是直接从缓存中调引用,所以是true,而超过127则是创建新的对象,所以内存地址的引用不一致,故是false。

两个Integer变量a和b,值相等,a==b等于多少?

标签:常用   内存   blog   XML   als   log   数字   out   data-   

原文地址:https://www.cnblogs.com/yangcx666/p/8733408.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!