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

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

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

rt

rt

rt

正在回答

2 回答

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

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

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

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

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

    即Element.equals(obj);

  3. 若有一個相同,則返回true

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

那么,既然是要調用List中每個元素的equals方法。而現在List的元素都是什么呢?

在這里,就是之前放進去的Course類的對象。也就是說,當contains()遍歷每個對象,再調用每個對象的equals()方法時,實際上是調用Course類中的equals()方法。既然你想要equals()方法能做別的事情,只要重寫它就好了。

2 回復 有任何疑惑可以回復我~

兩個object是通過內存地址來比較時候相同,即使是屬性相等的兩個對象,如果過對應的不是同一個地址,那么用系統默認的equal比較時就會返回false

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

舉報

0/150
提交
取消

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

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

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

幫助反饋 APP下載

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

公眾號

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