Javadocs说:
该描述中明显缺少方法的参数类型的类型-这是否意味着同一类上具有相同名称但参数不同的两个方法将具有相同的hashCode()
?
最佳答案
没错-相同的名称和相同的声明类的方法,如记录所示,具有相同的哈希码。我同意,这有点违反直觉。
Sun的JDK中的代码:
public int hashCode() {
return getDeclaringClass().getName().hashCode() ^ getName().hashCode();
}
但是
hashCode()
并不是平等的标志。 equals(..)
方法考虑了参数。