== 和 equals() 的区别
== 对于基本类型和引⽤类型的作⽤效果是不同的:
对于基本数据类型来说, == ⽐较的是值。
对于引⽤数据类型来说, == ⽐较的是对象的内存地址。
因为 Java 只有值传递,所以,对于 == 来说,不管是⽐较基本数据类型,还是引⽤数据类型的
变量,其本质⽐的都是值,只是引⽤类型变量存的值是对象的地址。
equals() 不能⽤于判断基本数据类型的变量,只能⽤来判断两个对象是否相等。 equals() ⽅法存在
于 Object 类中,⽽ Object 类是所有类的直接或间接⽗类,因此所有的类都有 equals() ⽅法。
Object 类 equals() ⽅法:
public boolean equals(Object obj) {
return (this == obj);
}
equals() ⽅法存在两种使⽤情况:
类没有重写 equals() ⽅法 :通过 equals() ⽐比较该类的两个对象时,等价于通过“==”比较这两个
对象,使⽤的默认是 Object 类 equals() ⽅法。
类重写了 equals() ⽅法 :⼀般我们都重写 equals() ⽅法来⽐比较两个对象中的属性是否相等;
若它们的属性相等,则返回 true(即,认为这两个对象相等)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了