課程
/后端開發
/Java
/Java入門第三季
在重寫方法中明明只判斷name,難道是key的查詢壓根不調用eq和ha這兩個方法嗎?
2018-07-26
源自:Java入門第三季 6-4
正在回答
key是String類型的,value是Student類型的,是自定義的。Java中自帶的對象類型(例如String,StringBuilder等)都已經被重寫過equals()方法和hashcode()方法等,在java api里的equals方法中,說明了覆蓋了Object中的equals方法,所以有沒有重寫equ和ha對它就沒有影響了,人家自身就重寫過了。
而自定義的對象(Student),則需要自己手動去重寫,這又不是java自帶的,想得到理想的比較結果就得重寫了。
在進行值的比較之前,不也是有對Key比較的嗎?然后重寫了方法??墒莐ey這個比較完全不受影響
不是很理解你的描述。只判斷name就是對鍵值對的值進行比較,就不用理會鍵的判斷處理啊。。
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
3 回答為什么containskey()不用重寫equals方法呢
2 回答為什么要重寫equals方法呢
3 回答第一個輸入方法的Scanner.close()會對下一個輸入方法的Scanner.next()有影響,為什么?
2 回答為什么不能重寫contains中的equals的方法
2 回答為什么在Course類中重寫equals方法,而不是在別的地方呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-08-29
key是String類型的,value是Student類型的,是自定義的。Java中自帶的對象類型(例如String,StringBuilder等)都已經被重寫過equals()方法和hashcode()方法等,在java api里的equals方法中,說明了覆蓋了Object中的equals方法,所以有沒有重寫equ和ha對它就沒有影響了,人家自身就重寫過了。
而自定義的對象(Student),則需要自己手動去重寫,這又不是java自帶的,想得到理想的比較結果就得重寫了。
2018-07-27
在進行值的比較之前,不也是有對Key比較的嗎?然后重寫了方法??墒莐ey這個比較完全不受影響
2018-07-27
不是很理解你的描述。只判斷name就是對鍵值對的值進行比較,就不用理會鍵的判斷處理啊。。