本帖最后由 徐盼盼 于 2013-3-19 17:14 编辑
使用TreeSet排序的时候,要求对象实现Comparable的接口,如果有如下代码:
- class Parent implements Comparable {
-
- private int age = 0;
-
- public Parent(int age){
- this.age = age;
- }
-
- public int compareTo(Object o){
-
- Parent o1 = (Parent)o;
-
- return age>o1.age?1:(age<o1.age?-1:0);
- }
-
- }
- class Child extends Parent {
- public Child(int age){
- super(age);
- }
-
- public int compareTo(Object o){
-
- Parent o1 = (Parent)o;
-
- return 1;
-
- }
- }
复制代码 在TreeSet中添加- TreeSet set = new TreeSet();
- set.add(new Parent(3));
- set.add(new Child(3));
- set.add(new Parent(4));
复制代码 那他排序的时候调用的compareTo是父类还是子类的呢?他的比较过程是什么
|