重写equals的问题

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

学习为致及

2018-01-12 12:25

在重新Student的equals时,如果只选择name  就可以正确的使用containsValue.

但是如果在重写equals时,选择了  id 和name.  就和没重写的时候一样,查询name的时候就会显示不存在.请问这是什么原因.

写回答 关注

3回答

  • 慕UI1804229
    2018-05-23 15:41:25
    已采纳

    https://img3.mukewang.com/5b051a1e0001596103960275.jpg你可以点开重写了(id和name)的equals方法时,当比较value时的比较的是Student(null,name),此时的id为null,所以返回的是false

    学习为致及

    太久远了.问题都快忘了.不过还是采纳吧

    2018-06-14 17:00:34

    共 2 条回复 >

  • 木垚
    2018-03-11 16:50:10

    个人理解是重写了id和name后,输入的小红理解为(null,小红)

    而映射表中的小红是(2,小红)


  • 慕仙3525890
    2018-01-20 10:52:12

    查询的时候要放入id吧?你看下重写的equals是不是同时比较了id和name(我也没试过)

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题