溫馨提示×

Java的contains能查找自定義對象嗎

小樊
118
2024-07-10 12:52:33
欄目: 編程語言

Java的contains方法是用來判斷一個集合中是否包含指定元素的方法,它會調用元素的equals方法來比較元素是否相同。如果你要查找自定義對象是否包含在集合中,需要在自定義對象中重寫equals方法和hashCode方法,以確保contains方法能正確比較自定義對象是否相同。

下面是一個例子,展示如何重寫equalshashCode方法來使自定義對象能夠正確用contains方法進行查找:

public class CustomObject {
    private int id;
    private String name;

    // 構造方法、getter和setter等略

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        
        CustomObject other = (CustomObject) o;
        return id == other.id &&
               Objects.equals(name, other.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, name);
    }
}

在上面的例子中,我們重寫了equals方法來比較兩個CustomObject對象是否相同,同時也重寫了hashCode方法以確保相同的對象具有相同的哈希碼。這樣就能確保contains方法在查找自定義對象時能夠正確比較對象是否相同。

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