这几天学习java set集合的时候发现一个这个问题,当我写一个类并且实现Comparable接口的方法,在Test类main方法中生成一个A对象,然后将这个A对象add到set调试到compareTo方法发现this和o的地址指向同一个地址,各位大咖能告诉我为什么吗?谢谢
/**
* Created by wanli on 2017/8/5.
*/
public class A implements Comparable<A> {
private int age;
public A(int age) {
this.age = age;
}
public A() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(A o) {
return o.getAge() - this.age;
}
@Override
public String toString() {
return "A{" +
"age=" + age +
'}';
}
}
public class Test {
public static void main(String[] args) {
TreeSet<A> set = new TreeSet<>();
A a = new A(14);
A b = new A(13);
set.add(a);
set.add(b);
for (A a1 : set)
System.out.println(a1.toString());
}
}