重写了equal后name还是提示false 前一节的课程也是一样 怎么回事
public void testContainsKeyOrValue(){
System.out.println("请输入要查询的学生ID:");
Scanner console=new Scanner(System.in);
String id=console.next();
System.out.println("您输入的学生ID为:" + id + ",在学生表中是否存在:"
+ students.containsKey(id));
if (students.containsKey(id)) {
System.out.println("对应的学生为:" + students.get(id).name);
}
System.out.println("请输入要查询的学生姓名:");
String name=console.next();
System.out.println("您输入的学生ID为:" + name + ",在学生表中是否存在:"
+ students.containsKey(name));
if (students.containsKey(new Student(null,name))) {
System.out.println("对应的学生为:" + name);
}
}
请输入学生ID:
1
请输入学生姓名:
小黑
成功添加学生:小黑
请输入学生ID:
2
请输入学生姓名:
小红
成功添加学生:小红
请输入学生ID:
3
请输入学生姓名:
小号
成功添加学生:小号
总共有:3个学生!
学生:小号
学生:小红
学生:小黑
请输入要查询的学生ID:
2
您输入的学生ID为:2,在学生表中是否存在:true
对应的学生为:小红
请输入要查询的学生姓名:
小黑
您输入的学生ID为:小黑,在学生表中是否存在:false