読者です 読者をやめる 読者になる 読者になる

日々精進

新しく学んだことを書き留めていきます

配列とArrayListではequalsの挙動が違い、配列をMapのKeyにしてはいけない

配列のequalsはObject.equalsをオーバーライドしないため、すべての同じIndexの要素が等価である場合のみtrueになる。 ArrayListはすべての同じIndexの要素のequalsメソッドの結果がtrueであればtrueになる。

MapのKeyに配列を使ってしまってハマった。。ArrayListを使うようにしよう。

参考:

https://www.jpcert.or.jp/java-rules/exp02-j.html