containsValue(new Student(null,name)中为什么Student的ID对应值是空(null)呢

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

Gary_Zhu

2015-10-02 10:50

请各位大神赐教 当Student对象的ID设置为null时 与Map中的原值相比较时不就不相等了吗?

写回答 关注

3回答

  • Uestc_L
    2016-02-28 10:53:06

    因为传入的参数只有name属性,只能判断Student的Map中是否包含学生Student为name的Student,在判断的时候也只用了name值,这个从equals方法中就可以看到是比较的  .name 是否相等

  • 此用户不存在或被删除
    2015-12-03 05:08:56

    老师后面自动生成equals方法和hashcode方法中只点击了name这个属性。

  • Zhenyu1990
    2015-10-06 04:33:56

    我也在想这个问题。

    自己猜的是因为你根本就无法确定是否有对应的学生存在,也就不可能去判断这个学生的ID。因此将ID设置为null。而且在后面重写Student类的equals()和hashCode()时,仅仅对name一项做了判断而没有判断id。

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题