課程
/后端開發
/Java
/Java入門第三季
重寫了 Course類的 equals 方法后? ?為什么SetTest中沒做任何修改? ? 結果卻發生了改變?
2019-06-06
源自:Java入門第三季 6-1
正在回答
因為調用了contains()方法,而該方法的原理就是調用equals()方法,也就是調用contains()方法就相當于調用了equals()方法
為什么一個自定義的類會有默認equals方法呢?是每個類都有嗎
精慕門7595355
首先要明白List中contains方法實現原理是,遍歷每個List中的元素(Course),調用這些元素(Course)的equals方法和入參的對象進行比較,如果有一個返回真則這個contains方法返回真。
那么你只需要在Course中重寫equals方法即可,因為contains這個方法原理就是調用每一個元素(Course)的equals方法,所以在SetTest中不用做修改
qq_早點_1 提問者
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答重寫equals
1 回答為什么在Course中重新定義equals方法?
1 回答重寫equals過程
1 回答equals方法重寫
2 回答重寫equals方法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-13
因為調用了contains()方法,而該方法的原理就是調用equals()方法,也就是調用contains()方法就相當于調用了equals()方法
2019-07-06
為什么一個自定義的類會有默認equals方法呢?是每個類都有嗎
2019-06-17
首先要明白List中contains方法實現原理是,遍歷每個List中的元素(Course),調用這些元素(Course)的equals方法和入參的對象進行比較,如果有一個返回真則這個contains方法返回真。
那么你只需要在Course中重寫equals方法即可,因為contains這個方法原理就是調用每一個元素(Course)的equals方法,所以在SetTest中不用做修改