Apache の commons-lang パッケージは、基本プロパティ、配列、オブジェクトなどの比較操作のカプセル化を提供する EqualsBuilder クラスを提供し、オブジェクトの equals (Object) メソッドの実装を支援します。
- pom.xml ファイルは、Apache の commons-lang パッケージの依存関係を追加します。
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
EqualsBuilder クラスの使用に関しては、公式 API ドキュメントにサンプルが提供されています。
public boolean equals(Object obj) {
if (obj == null) {
return false; }
if (obj == this) {
return true; }
if (obj.getClass() != getClass()) {
return false;
}
MyClass rhs = (MyClass) obj;
return new EqualsBuilder()
.appendSuper(super.equals(obj))
.append(field1, rhs.field1)
.append(field2, rhs.field2)
.append(field3, rhs.field3)
.isEquals();
}