JAVA中TreeSet的问题

myepoch 2005-09-02 11:17:27
添加一个对象到treeSet执行就正确
添加一个以上对象到treeSet执行就提示错误信息:

java.lang.ClassCastException
at java.util.TreeMap.compare(TreeMap.java:1085)
at java.util.TreeMap.put(TreeMap.java:463)
at java.util.TreeSet.add(TreeSet.java:209)
at JiHe.main(JiHe.java:16)
Exception in thread "main"
---------------------------------------------------------

import java.util.*;

public class Test{

public static void main(String args[])
{
Address a1 = new Address("A1","beijing","baogong","100000");
Address b1 = new Address("A2","beijing","huaxiang","100000");
Address c1 = new Address("A3","beijing","wukesong","100000");

TreeSet treeSet = new TreeSet();
treeSet.add(a1);
treeSet.add(b1);//去掉正确
treeSet.add(c1);//去掉正确

Iterator iterator = treeSet.iterator();
while(iterator.hasNext())
{
Object t1=iterator.next();
System.out.println(t1+"\n");
}

}
}

...全文
235 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsrj 2005-10-30
  • 打赏
  • 举报
回复
mark
qinzaoxiaolan 2005-09-04
  • 打赏
  • 举报
回复
如果有相同的Ai,好象也是不可以实现的
myepoch 2005-09-04
  • 打赏
  • 举报
回复
多谢xtaotao(淘淘),正是如此啊。
xtaotao 2005-09-03
  • 打赏
  • 举报
回复
因为TreeSet中的对象是要排序的(即你ADD新对象后与SET中原有对象进行比较后,以有序方式存放),所以放入TREESET中的对象的类要实现Comparable接口,你有Address类可能没有实现该接口.
追求自由 2005-09-03
  • 打赏
  • 举报
回复
有道理

62,623

社区成员

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

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