【发布时间】:2014-10-21 08:43:25
【问题描述】:
当我们在 Java 中重写 equals() 方法时,我知道 Object 需要作为参数,但我想知道 - 为什么是 Object?。
其次,假设我们覆盖hashcode()并实现equals(),但是将equals()中的参数设置为MyClass而不是Object(MyClass是我们覆盖其equals()方法的类)。如果我们使用HashMap,我们还会得到预期的行为吗?
更新:是的,它将重载而不是覆盖。但是如果我们使用HashMap 和重载的equals() 会发生什么?另外,我在相关帖子中找不到答案。或者我错过了什么明显的东西?
【问题讨论】:
-
"实现 equals() 但将 equals() 中的参数设置为 MyClass 而不是 Object" --> 那么你就没有覆盖
equals。 -
我不完全确定链接的 URL 是否回答了关于为什么 Object 是参数的 OP 问题
-
@seteropere 我刚刚经历过,但我也没有找到答案。
标签: java object hashmap equals hashcode