为什么当我们有==运算符时等于()方法?
2022-09-01 06:22:35
当我看到方法的实现时,它的作用与方法相同。所以我的问题是,当我们有做相同工作的运算符时,需要将其作为单独的方法吗?equals()
==
==
当我看到方法的实现时,它的作用与方法相同。所以我的问题是,当我们有做相同工作的运算符时,需要将其作为单独的方法吗?equals()
==
==
您不能重载运算符,但是如果您希望它的行为与运算符不同,则可以重写,即不比较引用,而是实际比较对象(例如,使用全部或部分字段)。==
equals(Object)
==
另外,如果您确实覆盖了 ,也请看一下。这两种方法需要兼容(即两个对象根据需要相等,具有相同的对象),否则会发生各种奇怪的错误(例如,将对象添加到集合或映射时)。equals(Object)
hashCode()
equals(Object)
hashCode()
==
比较对象引用,并询问两个引用是否相同。
equals()
比较对象内容,并询问对象是否表示相同的概念。