我最近必须重写 Java 中的equals
andhashCode
方法。因此,我寻找一种快速有效的方法来计算哈希码。
Java 开发人员似乎同意以下方法:
int hash = 23;
hash = hash * 37 + paramOne;
hash = hash * 37 + paramTwo;
// And so on...
这可能是简单的算术,但我真的不明白。有什么保证?什么是极端情况?有没有更好(相当简单)的方法来做到这一点?
谢谢 !