course2应该是Course型的变量,除了有name属性,还应该有id属性,老师例程中并没有定义关于id的内容,id是不是应该是null,而contains()方法到底是判断id和name均一致的对象还是只是name一致的对象就可以返回true了呢,下面是我的代码,返回的是false
System.out.println("请输入课程名:");
String name = console.next();
Course course2 = new Course();
course2.name = name;
System.out.println("取得的课程:" + course2.name);
//System.out.println(course3.id + course2.name);
System.out.println(coursesToSelect.contains(course2));
equals重写错误,已解决
小姐姐好厉害,自己拓展。恩,这次老师只比较了name 的值,因为是想检验是否包含课程。重写的equals方法里面比较的就是name 。我试了一下,ID随便赋值,只要课程名符合,contain()返回true。
按你重写的equals方法来,你重写的equals方法只比较name那么就不会管ID是否一样
而且输入id发现id值就是null