對稱性:1、建立person類並重寫equals方法如果
x.equals(y)
返回是「true」,那麼y.equals(x)
也應該返回是 「true」。自反性:
x.equals(x)
必須返回是「true」。傳遞性:
如果
x.equalsly)
返回是「true」,而且y.equals(z)
返回是「true」,那麼z.equals(x)
也應該返回是「true」。一致性:
如果
x.equals(y)
返回是「true」,只要x和y內容一直不變,不管重複x.equals(y)
多少次,返回結果都是「true」。
@getter
@setter
@builder
@allargsconstructor
@noargsconstructor
public
class
person
return
false;}
}
2、建立subperson類並繼承person@getter
@setter
@allargsconstructor
@noargsconstructor
public
class
subperson
extends
person
@override
public
boolean
equals
(object obj)
return
super
.equals
(obj);}
}
3、測試person p1 =
newperson
("tom");
subperson p2 =
newsubperson(1
,"tom");
subperson p3 =
newsubperson(2
,"tom");
system.out.
println
(p1.
equals
(p1));
// true 自反性
system.out.
println
(p1.
equals
(p2));
// true 對稱型
system.out.
println
(p2.
equals
(p1));
// true
system.out.
println
(p1.
equals
(p3));
// true // 傳遞性
system.out.
println
(p3.
equals
(p2));
// true
重寫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 但是這一性質並不符...