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

為了賬號安全,請及時綁定郵箱和手機立即綁定

equals()方法為什么只比較屬性的值而不比較類的方法是否相同呢?

equals()方法為什么只比較屬性的值而不比較類的方法是否相同呢?

正在回答

2 回答

在老師重寫的equals代碼中開始有三個判定條件

  1. if (this == obj)????????//如果直接可以用==判定會直接返回true

  2. if(obj==null)????????? ?//如果obj為null會直接返回false

  3. if(!(obj instanceof Course))????//注意這一條已經在判定obj和Course是否是同一類型了,只有在判定是同類型的情況下才會進行后續的(Course)obj強制類型轉換,否則返回false。

綜上兩個對象完全是同一類型的,那么他們可以調用的方法一定也相同。

回到具體的例子中,我們程序的目的是判定List coursesToSelect中是否包含課程,我們的目的是通過Course.name屬性判定是否存在包含關系。從實際角度出發,如果待選課程中包含

????1.高數????2.語文????3.毛概

我們判定某個Course對象是否包含于其中的時候也只需要比較"高數",是不是和待選課程中的某一項名稱一樣,也就是只需要判定name屬性就足夠了。

0 回復 有任何疑惑可以回復我~
#1

白澤飛落 提問者

非常感謝!
2018-03-15 回復 有任何疑惑可以回復我~

題目沒有看懂,Java中,非數值比較,通常使用equals方法。

0 回復 有任何疑惑可以回復我~
#1

白澤飛落 提問者

老師在重寫equals()方法時,只比較了對象的屬性值是否相同,我在問需不需要比較對象的方法,兩個對象屬性值相同,方法不一定相同啊
2018-01-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

equals()方法為什么只比較屬性的值而不比較類的方法是否相同呢?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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