为什么要新建一个学生,并且不传递id,只传递name

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

yuhq

2016-08-23 19:45

if(students.containsValue(new Student(null,name)))

System.out.println("在学生映射表中,确实包含学生:"+name);

else

System.out.println("在学生映射表中不存在该学生!");


写回答 关注

4回答

  • qq__2247
    2016-08-24 11:29:16
    已采纳
    因为只是查一下是不是有叫name的这个同学,而不用管他id是啥,并且重写student类的equals方法是也只是叫他比对每一个name

    yuhq

    非常感谢!

    2016-08-24 12:42:22

    共 1 条回复 >

  • qq_耳朵借我_0
    2017-11-29 14:48:49

    那为什么传空值进去不会出错?containsvalue方法判断value,而id与name都是value值的一部分,若是id不匹配为什么不会判断错误?

  • ziom
    2016-08-24 11:25:55

    students里存的是学生对象吧,不传ID是因为只需要根据学生姓名判断students里是否存在叫这个名字的学生

  • ValarRay
    2016-08-24 11:23:59

    如果我没记错的话,这部分是让验证如何只通过name值去查找是否存在对应学生的

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题