Java 語言規範要求 equals 方法具有的特性

Java 語言規範要求 equals 方法具有下面的特性:
1、自反性:對於任何非空引用x,x.equals(x)應該返回true。
2、對稱性:對於任何引用x和y,當且僅當y.equals(x)返回true,x.equals(y)也應該返回true。
3、傳遞性:對於任何引用x、y和z,如果x.equals(y)返回true,y.equals(z)返回true,則x.equals(z)也應該返回true。
4、一致性:如果x和y引用對象沒有發生變化,反覆調用x.equals(y)應該返回同樣的結果。
5、對於任意非空引用x,x.equals(null)應該返回false。
這些規則十分合乎情理,從而避免了類庫實現者在數據結構中定位一個元素時還要考慮調用 x.equals(y), 還是調用 y.equals(x) 的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章