麻烦大家帮忙看看,thx!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | //这是测试方法 public void testContains(){ Course course = courseToSelect.get( 0 ); System.out.println( "取得备选课程:" +course.name); System.out.println( "备选课程中是否包含本课程:" +course.name+ ", " +courseToSelect.contains(course)); Course course2 = new Course(course.id,course.name); System.out.println( "新建课程:" +course2.name); System.out.println( "备选课程中是否包含本课程:" +course2.name+ ", " +courseToSelect.contains(course2)); System.out.println( "请输入要查询的课程名称:" ); String name = sc.next(); Course course3 = new Course(); course3.name = name; System.out.println( "备选课程中是否包含本课程:" +course3.name+ ", " +courseToSelect.contains(course3)); } //这是Course类里面重写的equals方法 @Override public boolean equals(Object obj) { if ( this == obj) return true ; if (obj == null ) return false ; if (!(obj instanceof Course)) return false ; Course other = (Course) obj; if ( this .id == null ) { if (other.id != null ) return false ; } else if (!id.equals(other.id)) return false ; if ( this .name == null ) { if (other.name != null ) return false ; } else if (! this .name.equals(other.name)) return false ; return true ; } |
这里为什么会是false呢?