什么问题/陷阱,必须重写时,必须考虑equals和hashCode?
当我运行以下代码时:
Student student1 = new Student("Billy", 13);
Student student2 = new Student("Bob", 12);
Student student3 = new Student("Belle", 11);
Student student4 = new Student("Barry", 10);
Student student5 = new Student("Brian", 10);
Student student6 = new Student("Bane", 13);
Collection<Student> students = new HashSet<Student>();
students.add(student1);
students.add(student2);
students.add(student3);
students.add(student4);
students.add(student5);
students.add(student6);
for(Student student : students)
{
String name = student.getName();
System.out.println(name);
}
Run Code Online (Sandbox Code Playgroud)
它将打印出我的学生对象的名称列表.现在我想按字母顺序排列.我认为它就像使用TreeSet或SortedSet一样简单.
像这样:
Student student1 = new Student("Billy", 13);
Student student2 = new Student("Bob", 12);
Student student3 = new Student("Belle", 11);
Student …Run Code Online (Sandbox Code Playgroud)