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類中是否有...