学习为致及
2018-01-12 12:25
在重新Student的equals时,如果只选择name 就可以正确的使用containsValue.
但是如果在重写equals时,选择了 id 和name. 就和没重写的时候一样,查询name的时候就会显示不存在.请问这是什么原因.
你可以点开重写了(id和name)的equals方法时,当比较value时的比较的是Student(null,name),此时的id为null,所以返回的是false
个人理解是重写了id和name后,输入的小红理解为(null,小红)
而映射表中的小红是(2,小红)
查询的时候要放入id吧?你看下重写的equals是不是同时比较了id和name(我也没试过)
Java入门第三季
409792 学习 · 4340 问题
相似问题