“线程中的异常”;“主要”;java.lang.ClassCastException:proj.Car不能转换为java.lang.Compariable

“线程中的异常”;“主要”;java.lang.ClassCastException:proj.Car不能转换为java.lang.Compariable,java,treemap,Java,Treemap,我正在尝试创建类似于创建图形教程的内容,但遇到了一个错误:线程“main”java.lang.ClassCastException中的异常:proj.Car无法转换为java.lang.Comparable 汽车等级 Integer id; String model; String brand; float price; Cars类(两者都已实例化): treemapm; 树映射调整列表; 主要内容: for(Map.Entry:a.m.entrySet()){ Car val=en

我正在尝试创建类似于创建图形教程的内容,但遇到了一个错误:
线程“main”java.lang.ClassCastException中的异常:proj.Car无法转换为java.lang.Comparable

汽车等级

 Integer id;
 String model;
 String brand;
 float price;
Cars类(两者都已实例化):

treemapm;
树映射调整列表;
主要内容:

for(Map.Entry:a.m.entrySet()){
Car val=entry.getValue();
LinkedList=新建LinkedList();
a、 adjList.put(val,list);
}

这将为
m
中的每个汽车对象创建一个
adjList
,但问题在于错误。我尝试使用
instanceof
确保输入的变量类型相同,它返回true。因此,我不确定错误来自何处。

TreeMap是一个SortedMap实现,它需要其键来实现可比较的接口,以便对键进行排序


所以我假设Car并没有实现可比性。如果您添加此实现,您将很好。

Car implement Comparable。。。。。请查看您的Car类是否实现了类似的接口?@rr11您可以发布
Car
TreeMap<Integer, Car> m;
TreeMap<Car, LinkedList<Car>> adjList;
for(Map.Entry<Integer, Car> entry : a.m.entrySet()){
             Car val = entry.getValue();
             LinkedList<Car> list = new LinkedList<Car>();
             a.adjList.put(val, list);
}