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) 的問題。
Java 語言規範要求 equals 方法具有的特性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
反射獲取Class對象的四種方法
LVAmber
2020-07-08 12:00:21
Java package包,導入包import
LVAmber
2020-07-08 12:00:21
Java俄羅斯輪盤死亡遊戲
LVAmber
2020-07-08 12:00:21
dom4j解析.xml文件
ζMonster°
2020-07-08 10:45:03
學妹問我 JDK1.8 的新特性,我這樣幫她總結
Geffin
2020-07-08 10:04:53
博主在阿里筆試中拿了0分,竟是因爲分不清楚 Java 輸入類 nextLine 與 next 兩個方法的區別
Geffin
2020-07-08 10:04:49
面試官再問你什麼是反射,就把這篇文章發給他!
Geffin
2020-07-08 10:04:49
Java 中 String 與 int 的互相轉化知多少?
Geffin
2020-07-08 10:04:48
面試準備之枚舉類型enum的介紹
wangbiao007
2020-07-08 09:19:19
面試準備之ReentrantLock之源碼分析
wangbiao007
2020-07-08 09:19:19
面試準備之java8的新特性
wangbiao007
2020-07-08 09:19:19
面試準備之Java反射
wangbiao007
2020-07-08 09:19:19
校驗用戶是否登錄過濾器Filter
lpz283929516
2020-07-08 07:40:38
java全角半角間的轉換
lpz283929516
2020-07-08 07:40:37