概述
代码
public static void main(String[] args) {
Integer c = new Integer( 100);
Integer d = new Integer(100);
System.out.println(c == d); //false
1)
Integer a = 100 ;
Integer b = 100;
System.out.println(a == b); // true
2)
Integer e = 130;
Integer f = 130;
System.out.println(e == f); //false
3)
}
为什么 c==d 是false?
- 这里由于是比较内存地址,所以不相等
为什么 a == b 是 true ?
因为Integer 内部会把-128~127缓存起来
为什么 缓存区域是 -128~127 ?
因为2进制 最大数是127:是2的7次方减1,也就是127 , 而最小的数是-128:由于负数在计算机中是以其补码形式存在
也就是这里是根据二进制的大小存在的
为什么 e == f 是 false?
看上
最后
以上就是义气小蘑菇为你收集整理的深入浅出Integer , 为什么Integer的缓存区是【-128~127】的全部内容,希望文章能够帮你解决深入浅出Integer , 为什么Integer的缓存区是【-128~127】所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复