我想澄清一下我是否正确理解了这一点:
==
是引用比较,即两个对象都指向相同的内存位置.equals()
计算对象最佳答案
通常,您的问题的答案是"is",但是...
.equals(...)
将只比较写入的内容以进行比较,不会多也不会少。 equals(Object o)
方法。 Object#equals(Object o)
方法。根据对象API,这与==
相同;也就是说,当且仅当两个变量都引用相同的对象(如果它们的引用是相同的)时,它才返回true。因此,您将测试对象相等性而不是功能相等性。 hashCode
,请务必记住覆盖equals
,以免“违约”。根据API,如果两个对象的hashCode()
方法返回的结果必须相等,则它们的equals
方法必须相同。相反不一定是正确的。