課程
/后端開發
/Java
/Java入門第三季
問題同標題
2019-09-03
源自:Java入門第三季 6-8
正在回答
首先你得明白contains()方法的實現原理,它比較兩個對象的時候是通過equals()方法來實現是的,比較的是地址,所以你直接傳入Student4_3類型的序列之后,序列中每一個Student4_3對象的地址確實是不一樣的,這樣直接調用contains()方法放回的都是false的。你要在Student4_3中重寫equals()方法,具體的是需要比較id還是name你可以自己設定,eclipse中提供了重寫equals()的快捷生成,直接生成就好了。這時候你再去調用contians()方式的時候,它就會更具List序列中Student4_3中重寫的equals()去實現對比的是id還是name的值,而不再是直接對比兩個對象的地址。
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
4 回答在Student類中是寫了泛型,但還是提示類型不匹配
6 回答生成1000以內不重復的隨機數
3 回答隨機生成不重復的字符串
1 回答十以內不重復隨機數
2 回答如果要是不給Student類設置Course泛型設置的話,該怎么寫呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-09-04
首先你得明白contains()方法的實現原理,它比較兩個對象的時候是通過equals()方法來實現是的,比較的是地址,所以你直接傳入Student4_3類型的序列之后,序列中每一個Student4_3對象的地址確實是不一樣的,這樣直接調用contains()方法放回的都是false的。你要在Student4_3中重寫equals()方法,具體的是需要比較id還是name你可以自己設定,eclipse中提供了重寫equals()的快捷生成,直接生成就好了。這時候你再去調用contians()方式的時候,它就會更具List序列中Student4_3中重寫的equals()去實現對比的是id還是name的值,而不再是直接對比兩個對象的地址。