重寫equals方法

2022-06-26 16:21:09 字數 878 閱讀 4714

equals方法也是object類中的乙個方法,用於比較兩個物件是不是同乙個。調出object類原始碼可以找到equals類:

可見其是乙個boolan型別的方法,比較的是兩個物件的位址是否相同。

附乙個demo,若不改寫equals方法:

package

com.ftf.o;

public

class

textequals

}class

user

}

然而,在很多場景中,我們判斷兩者是不是同乙個體只需要判斷兩者的id是否相同,不需要再判斷其他資訊。在上面例子的基礎上,我們可以通過改寫equals方法,來達到呼叫equals方法判斷兩者id是否相同的目的。

package

com.ftf.o;

public

class

textequals

}class

user

//自動生成,在此有無無所謂

@override

public

inthashcode()

//重寫equals方法

//重寫equals方法可以右鍵選source,點 generate hashcode() and equals(),選擇屬性即自動生成詳細比較內容

@override

public

boolean

equals(object obj)

}

2019-03-09    23:29:57    房廷飛期待明天更好的自己!

重寫equals方法

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

equals方法重寫

來自的文章 一 為什麼equals 方法要重寫?判斷兩個物件在邏輯上是否相等,如根據類的成員變數來判斷兩個類的例項是否相等,而繼承object中的equals方法只能判斷兩個引用變數是否是同乙個物件。這樣我們往往需要重寫equals 方法。我們向乙個沒有重複物件的集合中新增元素時,集合中存放的往往是...

重寫equals方法

object物件中的 public boolean equals object obj 指示其他某個物件是否與此物件 相等 這裡的相等指的是比較的兩方指向同乙個物件 對於任何非空引用值 x 和 y,當且僅當 x 和 y 引用同乙個物件 就是同一塊記憶體位址 此方法才返回 true 但是這一性質並不符...