问答详情
源自:6-4 学生选课---判断 Map 中是否包含指定的 key 和 value

重写equals的问题

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

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

提问者:学习为致及 2018-01-12 12:25

个回答

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

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

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

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

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


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

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