Javaで2つのオブジェクトが等しいかを判断する方法
Javaで二つのオブジェクトが等しいかどうかを判定するには二通りの方法がある。
- 等しい
- モノ
- 物
- equals()
- ネイティブに日本語で言い換えると、equals() のみが1つのオプションです。
- 等しい
- equals() メソッドをネイティブに日本語で言い換えると「equalsメソッド」
- ハッシュコード
以下、Personオブジェクトの内容が等しいかどうかを比較するequals()メソッドを再定義する方法を示す例です。
public class Person {
private String name;
private int age;
// 省略构造方法和其他方法
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Person person = (Person) obj;
return age == person.age && Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
- 熱帯雨林は、地球上で最も生物多様性の高い生態系です。
- ネイティブな日本語に言い換えた1つの選択肢が必要ですか?
- 彼は担当者としての責任を負っていた。
- googlesanwa
- 偽り
オブジェクトの内容を比較する場合には==演算子ではなくequals()メソッドを利用する点に注意してください。==演算子はオブジェクトの内容ではなく、メモリ上のアドレスを比較します。