equalsとhashメソッドは十数年前と比べると驚くほど簡単に実装できるようになりました。
その恩恵で手間だったロジックをシンプルにすることができます。
例えば、2つのBeanを比較するために各フィールドを比較する演算子を見たことがあると思います。
if(tarBean.getName().equals(srcBean.getName()) &&
tarBean.getAge() == srcBean.getAge() &&
tarBean.getGender().equals(srcBean.getGender())) {
System.out.println("同じです。");
}
Object.equalsをオーバーライドして実装すると簡略化されJavaっぽくなります。
続きを読む