public   static   void   main(String   args[])
{
Map tempMap = new HashMap();
List tempList = new ArrayList();
SunClass a1 = new SunClass("1", "zxy1");
SunClass a6 = new SunClass("6", "zxy6");
SunClass a2 = new SunClass("2", "zxy2");
SunClass a3 = new SunClass("3", "zxy3"); tempList.add(a1);
tempList.add(a2);
tempList.add(a3);
tempList.add(a6); Collections.sort(tempList); for (int i = 0; i < tempList.size(); i ++)
{
System.out.println(tempList.get(i));
}
}
排序的时候为什么会出错???

解决方案 »

  1.   

    报的什么错,我估计会出现ClassCastException
      

  2.   

    SunClass类长什么样啊?有没有实现Comparable接口?
      

  3.   

    排序有错就是SunClass没有实现Comparable接口,它不晓得怎么给你的对象做比较
      

  4.   

    是 要实现comparable接口 因为你list装的是对象。。
      

  5.   

    public class SunClass implements Comparable<SunClass>{    String id ;
        String name;
     public int compareTo(SunClass o) {
            return Integer.valueOf(this.getId()) - Integer.valueOf(o.getId());
         }  public String toString() {
            return "Cat{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                     '}';
         } public String getId() {
    return id;
    } public void setId(String id) {
    this.id = id;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public SunClass(String id, String name) {
            this.id = id;
            this.name = name;
         }
    搞定了,需要重写Comparable<SunClass> 中的方法
      

  6.   

    SunClass 没实现comparable接口
      

  7.   

    没有实现Comparable接口,支持楼上的