扫码阅读
手机扫码阅读

Java中的equals()与==的区别与用法

190 2024-07-18

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Java中的equals()与==的区别与用法
文章来源:
springboot葵花宝典
扫码关注公众号
摘要:Java中的equals()与==的区别与用法

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语言进行准确的对象比较至关重要。

想要了解更多内容?

查看原文:Java中的equals()与==的区别与用法
文章来源:
springboot葵花宝典
扫码关注公众号

主要分享JAVA技术,主要包含SpringBoot、SpingCloud、Docker、中间件等技术,以及Github开源项目

266 篇文章
浏览 43K
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线