【EffectiveJava[9]】

<第 3 章 すべてのオブジェクトに共通のメソッド>
項目9:equals をオーバーライドする時は、常に hashCode をオーバーライドする

■著書からの要点抜粋
・equalsをオーバーライドしているすべてのクラスで、
 hashCodeをオーバーライドしなければなりまあせん。
・hashCodeをオーバーライドするのを忘れた場合に、破られる重要な条項は、
 2つ目の「等しいオブジェクトは、同じハッシュコードを持たなければなりません」です。
・パフォーマンスを向上させるために、
 ハッシュコードの計算からオブジェクトの意味のある部分を
 排除したい誘惑に駆られてはなりません。

■所感
上記はネタとしてはSJC-Pとかでも勉強した覚えがある。
覚えておくべきことだけど、今のところまだ使ったことがない。。。
hashCodeで31をしようするのは慣習?奇数の素数なら他にもありそうだけど。


Effective Java プログラミング言語ガイド

Effective Java プログラミング言語ガイド