扫码阅读
手机扫码阅读
Java中的equals()与==的区别与用法
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-jing.png)
springboot葵花宝典
扫码关注公众号
Java中的equals()与==的区别与用法
在Java开发中,equals()方法和==操作符的区别经常引起混淆。==操作符比较两个对象的地址是否相等,而equals()方法比较两个对象的内容是否相等。
例子说明
通过一个例子可以看出,对于两个内容相同但内存地址不同的String对象,使用equals()方法会返回true,因为它比较的是内容,而使用==操作符会返回false,因为它比较的是地址。
重写equals()方法
Java所有类默认继承自Object类,而Object类的equals()方法默认使用==操作符比较对象的内存地址。但许多类会重写equals()方法,因为通常我们需要比较对象的内容而非地址。例如,String类重写了equals()方法,以便比较字符串的内容。
String类的equals()方法
在JDK11中,String类的equals()方法首先检查是否为同一对象,然后检查是否为String实例,并根据字符编码调用相应的比较方法。Latin1和UTF-16是字符编码方式,String类会根据编码类型使用不同的方法进行内容比较。
总结来说,==操作符用于比较对象的内存地址,而equals()方法用于比较对象的内容。了解这一区别对于使用Java语言进行准确的对象比较至关重要。
想要了解更多内容?
![](/theme/default/default/images/main/icon-jing.png)
springboot葵花宝典
扫码关注公众号
springboot葵花宝典的其他文章
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线