Equals方法重寫

爲什麼equals() 方法需要重寫?

判斷連個對象在邏輯上是否相等,如果根據類成員變量來判斷兩個的實力是否相等,而繼承Object中的 equals 方法只能判斷兩個引用變量是否是同一個對象。這樣我們往往需要重寫 equals()方法


我們向一個沒有重複對象的集合中添加元素時,集合中存放的往往是對象,我們呢需要先判斷集合中是否存在


怎樣重寫equals()方法?
重寫equals方法的要求:
1、自反性:對於任何非空引用x,x.equals(x)應該返回true。
2、對稱性:對於任何引用x和y,如果x.equals(y)返回true,那麼y.equals(x)也應該返回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。


list檢查是否含有元素時時通過調用對象的 equals 方法來判斷的,也就是說 contains(p2)傳遞
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章