第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于判斷List中課程是否存在 為什么要在Course中重寫equals()方法??

rt

rt

rt

正在回答

2 回答

首先你得明白contains方法的原理。

http://img1.sycdn.imooc.com//56c81a540001fc1309080506.jpg

如上圖,contains(obj)的原理是:

  1. 遍歷List中所有的元素。

  2. 每遍歷一個(gè)元素,就調(diào)用這個(gè)元素的equals()方法,判斷這個(gè)元素是否與contain(obj)傳入的obj相同。

    即Element.equals(obj);

  3. 若有一個(gè)相同,則返回true

  4. 若所有都不相同,則返回false

那么,既然是要調(diào)用List中每個(gè)元素的equals方法。而現(xiàn)在List的元素都是什么呢?

在這里,就是之前放進(jìn)去的Course類的對(duì)象。也就是說(shuō),當(dāng)contains()遍歷每個(gè)對(duì)象,再調(diào)用每個(gè)對(duì)象的equals()方法時(shí),實(shí)際上是調(diào)用Course類中的equals()方法。既然你想要equals()方法能做別的事情,只要重寫它就好了。

2 回復(fù) 有任何疑惑可以回復(fù)我~

兩個(gè)object是通過(guò)內(nèi)存地址來(lái)比較時(shí)候相同,即使是屬性相等的兩個(gè)對(duì)象,如果過(guò)對(duì)應(yīng)的不是同一個(gè)地址,那么用系統(tǒng)默認(rèn)的equal比較時(shí)就會(huì)返回false

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于判斷List中課程是否存在 為什么要在Course中重寫equals()方法??

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)