问题描述
- 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; }
}
解决方案
把你的item实现comparable接口。
解决方案二:
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);
}
});
时间: 2024-12-28 06:59:27