2 qq 34132080 qq_34132080 于 2016.03.19 01:01 提问

java基础问题,求各位大神帮回答!

我程序运行返回错误是Exception in thread "main" java.lang.ClassCastException: Item cannot be cast to java.lang.Comparable。
求大神告知解决办法。。。。

public class LinkListTest {
public static void main(String[] args) {
SortedSet oo = new TreeSet<>();
oo.add(new Item("afang", 1011));
oo.add(new Item("fangjie", 1222));
oo.add(new Item("fangfang", 889));
System.out.println(oo);

    SortedSet<Item> sortedByDes = new TreeSet<>(new 
            Comparator<Item>() {
            public int compare(Item a, Item b) {
            String desA = a.getDescription();
            String desB = b.getDescription();
            return desA.compareTo(desB);
            }
    });
    sortedByDes.addAll(oo);
    System.out.println(sortedByDes);

}

}
class Item {
private String description;
private int id;
public Item(String aDes, int aId) {
description = aDes;
id = aId;
}

public String getDescription() {
    return description;
}

}

2个回答

zhengnan110
zhengnan110   2016.03.19 02:04
已采纳

把你的item实现comparable接口。

qq_34132080
qq_34132080 谢谢你哦~
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.03.19 02:43
 SortedSet<Item> sortedByDes = new TreeSet<>(new 
            Comparable<Item>() {
            public int compareTo(Item a, Item b) {
            String desA = a.getDescription();
            String desB = b.getDescription();
            return desA.compareTo(desB);
            }
    });
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!