理论:
1 2 3 | IntegerCache 缓存 JAVA的Integer有IntegerCache会缓存-128~127之间的对象。 如:Integer x = 100,会调用Integer的valueOf()方法,这个方法就是返回一个Integer对象,但是在返回前,作了一个判断,判断要赋给对象的值是否在[-128,127]区间中,且IntegerCache(是Integer类的内部类,里面有一个Integer对象数组,用于存放已经存在的且范围在[-128,127]中的对象)中是否存在此对象,如果存在,则直接返回引用,否则,创建一个新对象返回。 |
实践:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Integer a=2; Integer b=2; System. out .println(a==b); Integer c=18; Integer d=18; System. out .println(c==d); Integer e=127; Integer f=127; System. out .println(e==f); Integer g=128; Integer h=128; System. out .println(g==h); Integer i=3; Integer j=3; System. out .println(i==j); 得出 true true true false true |
结论
在 [-128,127]区间中 进行匹配用== 是可以的,超过了就会false,可以改成 .equals() 就可以了
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2012-03-31 js 数值转换为3位逗号分隔
2012-03-31 鼠标移过显示提示信息框(自动获取鼠标坐标)