)1. == 可以用来比较基本类型以及引用类型。在基本类型中 == 比较的是两个变量的值是否相等。在引用类型中,== 比较的是两个对象的内存地址是否相等。
)2. equals 只能用来比较引用类型。所有的对象,如果他们没有重写equals方法,那么默认比较的就是两个对象的内存地址是否相等。如果重写后,则视具体业务逻辑而定。但是java中有很多常用类(String,File,Date)已经帮我们重写了equals方法。比较的是他们里面的内容是否相等。
我们在为自己定义的类重写equals方法的时候,要注意几个小点:
- 任何对象与null比较都应返回false
- 两个对象不属于同一个类时应返回false
- 同一个对象equals比较应当恒等为true
- 里面的具体规则就视具体的业务逻辑而定了
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步