溫馨提示×

java中equal 在自定義類中如何實現

小樊
102
2024-08-18 20:01:37
欄目: 編程語言

在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()方法,比較了nameage屬性是否相等。需要注意的是,一般情況下需要同時重寫hashCode()方法,確保在使用集合類時對象的hash值一致。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女