覆盖hashCode()-这样够好吗?

覆盖hashCode()-这样够好吗?,第1张

覆盖hashCode()-这样够好吗?

您的哈希码确实满足以下属性:如果两个对象相等,则它们的哈希码必须相等。因此,这样就足够了。但是,在哈希码中创建冲突非常简单,这会降低基于哈希的数据结构的性能。

但我会稍微不同地实现它:

public int hashCode() {    return a * 13 + b.hashCode() * 23 + (c? 31: 7);}

你应该检查出文档的

hashCode()
方法的
Object
。它列出了哈希码必须满足的条件。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5430356.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-11
下一篇2022-12-11

发表评论

登录后才能评论

评论列表(0条)

    保存