equals方法的重新

2021-07-11 07:54:33 字數 401 閱讀 8511

object類生成的equals方法在預設的情況下是進行位址比較,但有些時候並不能滿足我們的需要,所以需要按使用者的需求重新定義該方法。

舉個例子:

假設我們現在想判斷兩個person的資訊,如果全部資訊都相等的話就可以判斷為同乙個人。

public class test 

}

在person類重新equals方法

class person

if(obj instanceof person)

} return false; }

}

使用重寫後的equals方法判斷,輸出結果為true。如果直接用object類的equals方法則輸出為false顯然不符合要求。

equals方法的特性

一 自反性 reflexive obj.equals obj true 二 對稱性 symmetric obja.equals objb true,那麼也有objb.equals obja true 三 傳遞性 transitive obja.equals objb true,objb.equals...

equals方法的小結

儘管經常使用equals,也可能理解不一定神,最近又要使用collections.sort看到了這些,總結的不錯。首先equals方法必須滿足自反性 對稱性 傳遞性和一致性。自反性 x.equals x 必須返回true 對稱性 x.equals y 返回true時,y.equals x 也必須返回...

重寫equals方法

對於重寫equals方法有以下例子 object類中的常用方法。object類是所有類的根類,定義了所有物件都具備的功能。api 應用程式介面 文件 class person extends object 判斷是否是同齡人。這個方法也是在比較兩個person物件是否相等。注意 person類中是否有...