equals方法的特性

2021-05-22 14:42:32 字數 368 閱讀 3878

一、自反性 reflexive: obj.equals(obj) = true

二、對稱性 symmetric: obja.equals(objb)=true,那麼也有objb.equals(obja)=true

三、傳遞性 transitive: obja.equals(objb)=true,objb.equals(objc)=true,那麼obja.equals(objc)=true

四、一致性 consistent: obja,objb如果沒有被修改的話,obja.equals(objb)=true多次被呼叫都返回true,或obja.equals(objb)=false多次被呼叫都返回false

五、obja.equals(null)始終為false

equals方法的重新

object類生成的equals方法在預設的情況下是進行位址比較,但有些時候並不能滿足我們的需要,所以需要按使用者的需求重新定義該方法。舉個例子 假設我們現在想判斷兩個person的資訊,如果全部資訊都相等的話就可以判斷為同乙個人。public class test 在person類重新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類中是否有...