如何解决线程“main”中的异常 java.lang.ClassCastException:proj.Car 无法转换为 java.lang.Comparable
我正在尝试创建类似 this 创建图表的教程,但遇到错误:Exception in thread "main" java.lang.classCastException: proj.Car cannot be cast to java.lang.Comparable
。
汽车类
Integer id;
String model;
String brand;
float price;
Cars 类(均已实例化):
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);
}
这会为 adjList
中的每个 Car 对象创建一个 m
,但问题是错误。我尝试使用 instanceof
确保输入的变量类型相同,并且返回 true。所以我不确定错误来自哪里。
解决方法
TreeMap 是一个 SortedMap 实现,它需要它的键来实现 Comparable 接口以便对键进行排序。
所以我假设 Car 没有实现 Comparable。如果你添加这个实现,你会没事的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。