面试中经常遇到一个问题:
Integer a = 10;
Integer b = 10;
System.out.println(a == b);
a = 1000;
b = 1000;
System.out.println(a == b);
两个打印值分别是多少?

详解:true;false;
默认IntegerCache.low 是-128,Integer.high是127,如果在这个区间内,他就会把变量i当做一个变量,放到内存中;但如果不在这个范围内,就会去new一个Integer对象,在这个题目中,10在范围内,所以直接比较其值;1000不在范围内,所以jdk帮我new了两个实例,这样在用==,肯定是false。
补充:Integer值判断是否相等问题 要用equals判断不要用“==”判断
昨天在开发中遇到一个问题,定义了两个Integer变量,暂且定义为Integer a; Integer b;
这两个值由前端赋值并传到后台,前台传的是a = 12345, b = 12345, 但我在后台比较的时候 if (a == b),却返回false,好无语啊,不都是123吗?为什么返回false,后来改为equals(),返回true,但其中的有些端倪还不太清楚,现总结下:
我们知道Integer是int的包装类,在jdk1.5以上,可以实现自动装箱拆箱,就是jdk里面会自动帮我们转换,不需要我们手动去强转,所以我们经常在这两种类型中随意写,平时也没什么注意
但Integer他是对象,我们知道 == 比较的是堆中的地址,但有个奇怪的事是, 如果 Integer a = 123, Integer b = 123,可以返回true,但如果Integer a = 12345, Integer b = 12345,返回false,这就是jdk的东西,我们看下Integer的源码
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
默认IntegerCache.low 是-127,Integer.high是128,如果在这个区间内,他就会把变量i当做一个变量,放到内存中;但如果不在这个范围内,就会去new一个Integer对象,
而我在代码中,两个Integer值都不在这个范围内,所以jdk帮我new了两个实例,这样在用==,肯定是false。
所以如果要比较Integer的值,比较靠谱的是通过Integer.intValue();这样出来的就是int值,就可以直接比较了;或者equals()比较
Integer的底层 equals是这样定义的 先拆箱为int再来比较
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐:
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
seo站长什么意思,站长工具 - seo综合查询 ,ai少女身材
AI搜索相似文章怎么做?揭秘高效文章检索的核心技术!,程式ai软件
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商
为什么做酒店seo,为什么做酒店 ,ai uehara下载
亚马逊产品seo什么意思,亚马逊平台产品专业术语 ,小新同学ai
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
用AI写文章查重率高吗?揭秘AI写作与查重检测的关系
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊
ChatGPT安装包Windows版:让AI助力你的工作与生活,人工智能ai不是梦在线
乘风SEO-引领企业互联网时代的腾飞之路,南昌b站关键词排名优化贵不贵
seo相关知识是什么,seo相关技术 ,ai写作讯飞星火认知大模型
提升写作效率,释放创意潜力文章生成AI软件的未来
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
ChatGPT为什么访问不了了?了解背后的原因与解决方法,AI怎么拖入路径
为什么seo对企业重要,seo对企业进行网络营销的价值 ,ai李沁换脸鲍鱼
什么是seo寄生虫,寄生虫seo原理 ,AI 疫
SEO元素-提升网站排名的核心要素,推广分成网站有哪些
优化高效率:提升个人与企业竞争力的关键,安康网站推广咨询
怎么用AI生成一篇文章?高效创作指南全揭秘!
文章AI生成标题:让创作更轻松,内容更精彩
SEO管家:为您的网站保驾护航的智能SEO助手,网站推广作用有哪些类型
SEO那么重要,企业如何通过它脱颖而出?,自媒体推广营销的概念
SEO关键词推广软件官网-助力企业实现高效精准的网络营销,圈圈ai
好用的AI写作工具,提升写作效率与创意的最佳选择
Zkept:重塑未来生活的智能科技革新,营销推广的面试问题
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
高效创作之路:文章AI生成器的力量
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监
SEO外链技巧:提升网站排名的秘密武器,ai视频生日祝福
“扩写AI”-引领写作革命,开启智能创作新时代,dede seo 标题如何填写
ChatGPT40不收费版本:科技革新,智能助手助力生活与工作,ai医疗武器有哪些
SEO优化快:如何在短时间内实现网站流量爆发,Lacey0508ai
seo需要会什么,seo要会些什么 ,ai313414919
SEO优化大全:让你的网站排名轻松破局,精准引流更高效!,274357524ai
SEO提供:如何通过精准的SEO策略提升网站流量与品牌影响力,刷关键词排名立的火星
SEO优化关键词品牌:如何通过精准的关键词提升品牌价值,ai免费智能写作论文
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
二级泛站群,zblog二级泛站群 ,李宗盛ai
AI人工智能:改变未来的科技革命
seo网站通过什么软件,网站seo软件哪个 ,战团ai
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
SEO表述:如何通过精准优化让你的内容脱颖而出,江阴网站建设怎么样啊
优化服务网-提升客户体验,打造全方位智慧服务平台,东莞网站建设员招聘信息
seo用什么写属性写,seo属于什么 ,芭田科学施肥AI
怎么查一篇文章是不是AI写的?你需要这几个关键方法!