Javaで2つのオブジェクトが等しいかどうかを判断するには、どうすればよいですか?
Javaで、2つのオブジェクトが等しいかどうかを判定する方法は次のとおりです:
- 私たちの学校は新しいプロジェクトを始めました。
- I can’t wait to see you again.
Object obj1 = new Object();
Object obj2 = obj1;
boolean isEqual = (obj1 == obj2); // true
- 同じである
- equals()メソッド
- equals() は、2 つのオブジェクトが同じ値を持つかどうかを確認するためのメソッドです。
public class MyClass {
private int value;
public MyClass(int value) {
this.value = value;
}
public int getValue() {
return value;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
MyClass other = (MyClass) obj;
return value == other.value;
}
}
MyClass obj1 = new MyClass(10);
MyClass obj2 = new MyClass(10);
boolean isEqual = obj1.equals(obj2); // true
注意,equals()メソッドをオーバーライドした場合、通常、hashCode()メソッドも同時にオーバーライドする必要があります。これにより、2つのオブジェクトが等しい場合に、そのハッシュコードも等しくなるようにします。