理解 Java 中的物件相等性
Java 中為了比較兩個物件的相等性,經常使用 equals 方法。在所描述的場景中,目標是重寫具有姓名和年齡欄位的 People 類別的 equals 方法,以方便 People 物件之間的比較。
提出的初始實作對年齡欄位使用 equals 方法,該方法是整數類型。然而,如所指出的, equals 方法是專門為比較 String 物件而設計的。
解:比較整數欄位
要比較整數欄位,建議使用使用 == 運算子取代 equals 方法。 == 運算子直接比較原始資料類型的值,而不是呼叫 equals 方法。
正確實作Equals
equals 方法的正確實作People 類別應如下所示:
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final People other = (People) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
在此實作:
以上是如何正確重寫 Java 中物件比較的 equals 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!