为什么重写两个方法后对key的查询不影响呢?

来源:6-4 学生选课---判断 Map 中是否包含指定的 key 和 value

qq_慕后端9416733

2018-07-26 17:49

在重写方法中明明只判断name,难道是key的查询压根不调用eq和ha这两个方法吗?

写回答 关注

3回答

  • 喵大大今天学习了吗
    2018-08-29 22:50:14

    key是String类型的,value是Student类型的,是自定义的。Java中自带的对象类型(例如String,StringBuilder等)都已经被重写过equals()方法和hashcode()方法等,在java api里的equals方法中,说明了覆盖了Object中的equals方法,所以有没有重写equ和ha对它就没有影响了,人家自身就重写过了。

    而自定义的对象(Student),则需要自己手动去重写,这又不是java自带的,想得到理想的比较结果就得重写了。

  • qq_慕后端9416733
    2018-07-27 16:15:00

    在进行值的比较之前,不也是有对Key比较的吗?然后重写了方法。可是key这个比较完全不受影响

  • 慕村5414681
    2018-07-27 10:18:54

    不是很理解你的描述。只判断name就是对键值对的值进行比较,就不用理会键的判断处理啊。。

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题