课程
/后端开发
/Java
/Java入门第三季
请各位大神赐教 当Student对象的ID设置为null时 与Map中的原值相比较时不就不相等了吗?
2015-10-02
源自:Java入门第三季 6-4
正在回答
因为传入的参数只有name属性,只能判断Student的Map中是否包含学生Student为name的Student,在判断的时候也只用了name值,这个从equals方法中就可以看到是比较的 .name 是否相等
老师后面自动生成equals方法和hashcode方法中只点击了name这个属性。
我也在想这个问题。
自己猜的是因为你根本就无法确定是否有对应的学生存在,也就不可能去判断这个学生的ID。因此将ID设置为null。而且在后面重写Student类的equals()和hashCode()时,仅仅对name一项做了判断而没有判断id。
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
1 回答if(students.containsValue(new Student(null,name))) {
2 回答new Student(String id , String name)
3 回答给student的id赋值为什么用1+“”???
3 回答Student st = students.get(ID);是什么
2 回答Student st = Students.get(id);