3 回答
已采納

隔壁老伍丶
TA貢獻(xiàn)15條經(jīng)驗(yàn) 獲得超6個(gè)贊
public?boolean?equals(Object?obj)?{ //?先判斷地址是否相同,地址相同肯定是同一個(gè)對(duì)象,返回true if?(this?==?obj) return?true; //?再判斷要比較的對(duì)象是否為空 if?(obj?==?null) return?false; //?再判斷對(duì)象是否為同一類型 if?(getClass()?!=?obj.getClass()) return?false; //?同一類型的話,就可以轉(zhuǎn)為Dog Dog?other?=?(Dog)?obj; //?再判斷對(duì)象的屬性是否相同 if?(age?!=?other.age) return?false; //?都判斷完,沒有返回false的話,就返回true return?true; }

慕設(shè)計(jì)2491986
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個(gè)贊
要想判斷兩個(gè)對(duì)象是否相等,不能通過比較兩個(gè)對(duì)象的引用是否相等,這是永遠(yuǎn)都得不到相等的結(jié)果的,因?yàn)閮蓚€(gè)對(duì)象的引用永遠(yuǎn)不會(huì)相等,所以正確的比較方法是直接比較這兩個(gè)對(duì)象,比較這兩個(gè)對(duì)象的實(shí)質(zhì)是不是一樣的,即這兩個(gè)對(duì)象里面的內(nèi)容是不是相同的,通過比較這兩個(gè)對(duì)象的屬性值是否相同而決定這兩個(gè)對(duì)象是否相等。Object類提供了一個(gè)equals()方法來比較兩個(gè)對(duì)象的內(nèi)容是否相同,因此我們可以采用這個(gè)方法去比較兩個(gè)對(duì)象是否在邏輯上“相等”

大羹不和
TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超0個(gè)贊
首先,此方法的最初作用是用于比較兩個(gè)對(duì)象是不是相等,其實(shí)就是==,如果重寫此方法,那就是說,根據(jù)自己對(duì)象,已經(jīng)定義一種比較的規(guī)則,比如String重寫的equals()方法。自己的見解。
添加回答
舉報(bào)
0/150
提交
取消