我是靠谱客的博主 清爽向日葵,最近开发中收集的这篇文章主要介绍为什么Integer a = 127,b = 127;时a==b为true,而Integer c = 128,d = 128;时a==b为false?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Integer a = 128;
Integer b = 128;
System.out.println(ab);
Integer c = 1;
Integer d = 1;
System.out.println(c
d);

执行结果:false
true

因为Integer存在常量池,一次性把从-128到127之间的所有数都初始化了比较的是内存地址,
当没超出赋值范围时,内存地址都为常量池中的地址;超出了int的最大缓存量后各自new了一个对象,两个地址肯定不一样了。

最后

以上就是清爽向日葵为你收集整理的为什么Integer a = 127,b = 127;时a==b为true,而Integer c = 128,d = 128;时a==b为false?的全部内容,希望文章能够帮你解决为什么Integer a = 127,b = 127;时a==b为true,而Integer c = 128,d = 128;时a==b为false?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部