关于集合排序的问题???

zxycbz 2008-11-20 01:58:10
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));
}
}


排序的时候为什么会出错???
...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenjie1989 2008-11-21
  • 打赏
  • 举报
回复
没有实现Comparable接口
时光瞄 2008-11-21
  • 打赏
  • 举报
回复
没有实现Comparable接口,支持楼上的
fuyou001 2008-11-20
  • 打赏
  • 举报
回复
SunClass 没实现comparable接口
zxycbz 2008-11-20
  • 打赏
  • 举报
回复
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> 中的方法
phoenixLotus 2008-11-20
  • 打赏
  • 举报
回复
是 要实现comparable接口 因为你list装的是对象。。
natee 2008-11-20
  • 打赏
  • 举报
回复
估计添加a2的时间就出错了,呵呵
dreamhunter_lan 2008-11-20
  • 打赏
  • 举报
回复
排序有错就是SunClass没有实现Comparable接口,它不晓得怎么给你的对象做比较
廊子 2008-11-20
  • 打赏
  • 举报
回复
学习
Influence 2008-11-20
  • 打赏
  • 举报
回复
SunClass类长什么样啊?有没有实现Comparable接口?
kissclf 2008-11-20
  • 打赏
  • 举报
回复
报的什么错,我估计会出现ClassCastException

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧