Javaでequalsを使用する方法

Javaでは、equals()メソッドが2つのオブジェクトが等しいかどうかを比較するために使用されるメソッドです。これはObjectクラスのメソッドなので、任意のJavaクラスで使用できます。equals()メソッドには以下のような使い方があります。

  1. 2つのオブジェクトの参照が等しいかどうかを比較する:
Object obj1 = new Object();
Object obj2 = obj1;
boolean isEqual = obj1.equals(obj2);
  1. 2つのオブジェクトの内容が等しいかどうかを比較する
String str1 = "Hello";
String str2 = "Hello";
boolean isEqual = str1.equals(str2);
  1. カスタムクラスのequals()メソッド:

カスタムクラスで2つのオブジェクトの内容の等価性を比較したいときは、equals() メソッドをオーバーライドする必要があります。一般的には、オブジェクト内のプロパティの等価性を比較する必要があり、equals() メソッドは再帰的、対称的、推移的、そして一貫性のあるものにします。たとえば、次のようにします。

public class MyClass {
private int value;
// 构造函数、getter和setter方法省略
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
MyClass myObj = (MyClass) obj;
return value == myObj.value;
}
}
MyClass obj1 = new MyClass();
obj1.setValue(5);
MyClass obj2 = new MyClass();
obj2.setValue(5);
boolean isEqual = obj1.equals(obj2);

nullの可能性のあるオブジェクトをequals()メソッドで処理する場合は、メソッドの仕様に準拠していることを確認してください。

bannerAds