亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java問題問題

java問題問題

慕粉4353249 2016-11-30 03:33:05
public boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Dog other = (Dog) obj;if (age != other.age)return false;return true;}重寫的equals()方法不是很懂,求解釋!!!!
查看完整描述

3 回答

已采納
?
隔壁老伍丶

TA貢獻15條經驗 獲得超6個贊

public?boolean?equals(Object?obj)?{
//?先判斷地址是否相同,地址相同肯定是同一個對象,返回true
if?(this?==?obj)
return?true;

//?再判斷要比較的對象是否為空
if?(obj?==?null)
return?false;

//?再判斷對象是否為同一類型
if?(getClass()?!=?obj.getClass())
return?false;

//?同一類型的話,就可以轉為Dog
Dog?other?=?(Dog)?obj;

//?再判斷對象的屬性是否相同
if?(age?!=?other.age)
return?false;

//?都判斷完,沒有返回false的話,就返回true
return?true;
}


查看完整回答
2 反對 回復 2016-11-30
?
慕設計2491986

TA貢獻1條經驗 獲得超1個贊

要想判斷兩個對象是否相等,不能通過比較兩個對象的引用是否相等,這是永遠都得不到相等的結果的,因為兩個對象的引用永遠不會相等,所以正確的比較方法是直接比較這兩個對象,比較這兩個對象的實質是不是一樣的,即這兩個對象里面的內容是不是相同的,通過比較這兩個對象的屬性值是否相同而決定這兩個對象是否相等。Object類提供了一個equals()方法來比較兩個對象的內容是否相同,因此我們可以采用這個方法去比較兩個對象是否在邏輯上“相等”


查看完整回答
1 反對 回復 2016-11-30
?
大羹不和

TA貢獻4條經驗 獲得超0個贊

首先,此方法的最初作用是用于比較兩個對象是不是相等,其實就是==,如果重寫此方法,那就是說,根據自己對象,已經定義一種比較的規則,比如String重寫的equals()方法。自己的見解。
查看完整回答
反對 回復 2016-11-30
  • 3 回答
  • 0 關注
  • 1517 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號