equalsとhashCode
今更ながらハマるとは・・・。
HashMapを使ってたけど、意図したとおりに値が取得できない。
ずーっと悩んでふとkeyとなってるクラスを見てみたら、
equalsはオーバーライドしているのにhashCodeはオーバーライドしてねぇ。
ぐはっ。
改めて、HashMapのコードを確認すると、至ることろにこんなコードが。
Effective Java万歳。
if (e.hash == hash && eq(k, e.key))
今更ながらハマるとは・・・。
HashMapを使ってたけど、意図したとおりに値が取得できない。
ずーっと悩んでふとkeyとなってるクラスを見てみたら、
equalsはオーバーライドしているのにhashCodeはオーバーライドしてねぇ。
ぐはっ。
改めて、HashMapのコードを確認すると、至ることろにこんなコードが。
Effective Java万歳。
if (e.hash == hash && eq(k, e.key))