大家看看 下面改写的代码
主程序
private static void demo1() {
Set<Person> set = new TreeSet<Person>();
set.add(new Person("张三", 19));
set.add(new Person("李四", 20));
set.add(new Person("王五", 18));
set.add(new Person("赵六", 21));
set.add(new Person("孙七", 21));
System.out.println(set);
}
Person类的中改写的compareTo方法
public int compareTo(Person p) {
int ageGap = this.age - p.age;
return ageGap != 0 ? ageGap : this.name.compareTo(p.name);
}
上面方法this 是第一个传入的 而 p是第二或三或四...个传入 那么不是应该用 p.age - this.age 吗 求解 |