【EffectiveJava[9]】
<第 3 章 すべてのオブジェクトに共通のメソッド>
項目9:equals をオーバーライドする時は、常に hashCode をオーバーライドする
■著書からの要点抜粋
・equalsをオーバーライドしているすべてのクラスで、
hashCodeをオーバーライドしなければなりまあせん。
・hashCodeをオーバーライドするのを忘れた場合に、破られる重要な条項は、
2つ目の「等しいオブジェクトは、同じハッシュコードを持たなければなりません」です。
・パフォーマンスを向上させるために、
ハッシュコードの計算からオブジェクトの意味のある部分を
排除したい誘惑に駆られてはなりません。
■所感
上記はネタとしてはSJC-Pとかでも勉強した覚えがある。
覚えておくべきことだけど、今のところまだ使ったことがない。。。
hashCodeで31をしようするのは慣習?奇数の素数なら他にもありそうだけど。
- 作者: Joshua Bloch,ジョシュア・ブロック,柴田芳樹
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2001/12/03
- メディア: 単行本
- 購入: 5人 クリック: 124回
- この商品を含むブログ (105件) を見る