equalsとhashCode

今更ながらハマるとは・・・。


HashMapを使ってたけど、意図したとおりに値が取得できない。
ずーっと悩んでふとkeyとなってるクラスを見てみたら、
equalsはオーバーライドしているのにhashCodeはオーバーライドしてねぇ。


ぐはっ。




改めて、HashMapのコードを確認すると、至ることろにこんなコードが。


if (e.hash == hash && eq(k, e.key))
Effective Java万歳。