为了按内容来比较属于同一类型的两个对象的“大小”,JDK中定义了一个Comparable接口用于供程序员自定义两个对象的比较规则,此接口声明如下:     public interface Comparable    {        int compareTo(Object other);    }          实现了此接口的两个对象(不妨称之为X和Y)可以相互比较:两对象X和Y相等,compareTo()方法返回0,X小于Y时compareTo()方法返回一个负数(通常设为-1),X大于Y时返回正数(通常设为1)。      编写一个方法,接收一个Comparable对象数组作为参数,然后,此方法对此数组中的对象进行升序排列。

解决方案 »

  1.   

    JDK API中有一个类Arrays,利用其中的sort方法就可以对Object[]进行排序,排序依据就是compareTo。如:Objects[] objs = ...;
    Arrays.sort(objs);
      

  2.   

    更正一下,Object[] objs = ...;
    Arrays.sort(objs);同时,Arrays工具类通过重载技术,可以支持所有类型数组的排序功能。可以查看一下JDK API的帮助
    http://gceclub.sun.com.cn/Java_Docs/jdk6/html/zh_CN/api/index.html
      

  3.   


    import java.util.Arrays;
    public class TestComp{ public static void main(String[] args){
    Dogs d1 = new Dogs("wangwang",1);
    Dogs d2 = new Dogs("xiaoke",3);
    Dogs[] dogs = new Dogs[2];
    dogs[0] = d1;
    dogs[1] = d2;
    Arrays.sort(dogs);
    System.out.println(Arrays.asList(dogs));
    }
    }class Dogs implements Comparable{
    private String username;
    private int age; public Dogs(String username,int age){
    this.username=username;
    this.age=age;
    } public int compareTo(Object o){
    return this.age-((Dogs)o).age;
    } public String toString(){
    return username+":"+age;
    }
    }