为什么包装类型间的相等判断应该用 equals
为什么包装类型间的相等判断应该用 equals
大家都知道 java 中 == 和 equal 的区别, == 操作比较的是两个变量的值,对于引用型变量是判断变量是否指向同一引用对象,比地址。
equals 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
引用类型用 == 的示例:
public static void main(String[] args) { Integer a1 = 127; Integer a2 = 127; Integer b1 = 128; Integer b2 = 128; // true System.out.println(a1 == a2); // false System.out.println(b1 == b2); }
对于 INTEGER 类型,在 [-128, 127] 区间内,是用的同一个地址。其外用的是新的。
所以:包装类型间的相等判断不用 ==,而是应该用 equals
本文来自博客园,作者:小陈子博客,转载请注明原文链接:https://www.cnblogs.com/cj8357475/p/16194396.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下