在Java中,自定義類需要重寫equals()
方法來實現對象的比較。equals()
方法用于比較兩個對象是否相等,通常會根據對象的屬性進行比較。以下是一個示例:
public class Person {
private String name;
private int age;
// 構造方法
// getter 和 setter 方法
@Override
public boolean equals(Object obj) {
// 檢查對象是否為同一個引用
if (this == obj) {
return true;
}
// 檢查對象是否為null或者類型不匹配
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);
}
}
上面的示例中,重寫了equals()
方法,比較了name
和age
屬性是否相等。需要注意的是,一般情況下需要同時重寫hashCode()
方法,確保在使用集合類時對象的hash值一致。