繁体   English   中英

线程“主”java.lang.ClassCastException 中的异常:proj.Car 无法转换为 java.lang.Comparable

[英]Exception in thread "main" java.lang.ClassCastException: proj.Car cannot be cast to java.lang.Comparable

我正在尝试创建类似于创建图形的教程的内容,但遇到了一个错误: Exception in thread "main" java.lang.ClassCastException: proj.Car cannot be cast to java.lang.Comparable

汽车class

 Integer id;
 String model;
 String brand;
 float price;

汽车 class (两者都已实例化):

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);
}

这将为m中的每辆汽车 object 创建一个adjList ,但问题是错误。 我尝试使用instanceof确保输入的变量属于同一类型,并且它返回 true。 所以我不确定错误来自哪里。

TreeMap 是一个 SortedMap 实现,它需要它的键来实现 Comparable 接口以便对键进行排序。

所以我假设 Car 没有实现 Comparable。 如果你添加这个实现,你会没事的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM