これはKotlin Advent Calendar 2017 18日目の記事です(投稿が遅くなってスミマセン ) Javaエンジニア必読のEffective Javaの観点でKotlinを眺めてみると、Kotlinはとても気が利いていることがよくわかります。 ここではEffective Java第3章の項目8、項目9のequalsとhashCodeのOverrideをピックアップして見てみます。 equalsとhashCodeのOverride 概要 Effective Java第3章の項目8、項目9をおさらいしてみます。 ざっと以下のようなことが書かれています。 クラスに論理的等価性の概念を持たせたい場合、equalsをoverrideします。 equalsメソッドは以下の一般契約を満たす必要がある 反射的, 対照的, 推移的, 整合的, non nullなxに対してx.equals(n

