cannot be cast to java.lang.Comparable解决办法
来源:互联网 发布:免费域名和虚拟主机 编辑:程序博客网 时间:2024/05/16 07:22
对于TreeMap,他是一个有序的map,当你将key put到treeMap中,它会根据你所提供的排序规则进行排序插入,如果没有提供,则使用默认。
cannot be cast to java.lang.Comparable,遇到这个异常错误,就是说treeMap并不知道该如何put,就会报这个异常错误。第一次put时,因为为空,所以不需要比较,即不会报错。但是当第二次put时,treeMap为了确保他是有序的就必须比较,这个时候发现这两个key根本无法比较,则抛出该异常错误。
要解决这个异常错误有两种解决办法。第一种在构造TreeMap时指定一个比较器,这个比较器用于比较两个值,并且返回一个整数值作为他们的比较结果。第二种就是key实现Comparable接口。
下面实例是我做毕业设计过程中,对订单进行排序使用的TreeMap构造器:
/** * 获取指定构造器的TreeMap对象 */ publicMap<Order, List<OrderDetail>> getTreeMap(){ Map<Order,List<OrderDetail>> map = new TreeMap<Order,List<OrderDetail>>( //比较器按照降序实现 (Comparator<?super Order>) new Comparator<Order>(){ publicint compare(Order order1, Order order2) { returnorder2.getOrderId().compareTo(order1.getOrderId()); } } ); returnmap; }
- cannot be cast to java.lang.Comparable解决办法
- cannot be cast to java.lang.Comparable解决办法
- cannot be cast to java.lang.Comparable问题
- 使用treeSet报cannot be cast to java.lang.Comparable
- Cannot be cast to java.lang.Comparable异常
- com.casinocity.bean.GameCategory cannot be cast to java.lang.Comparable
- TreeSet 集合在Add时报错cannot be cast to java.lang.Comparable
- java.lang.Integer cannot be cast to java.lang.String 解决办法
- java.lang.Long cannot be cast to java.lang.Integer解决办法
- java.lang.Long cannot be cast to java.lang.Integer
- java.lang.Long cannot be cast to java.lang.Integer
- java.lang.Long cannot be cast to java.lang.Integer!
- java.lang.Integer cannot be cast to java.lang.Double
- java.lang.Integer cannot be cast to java.lang.String
- java.lang.Character cannot be cast to java.lang.String
- java.lang.Integer cannot be cast to java.lang.String
- java.lang.Long cannot be cast to java.lang.String
- java.lang.String cannot be cast to java.lang.Integer
- 为镶嵌数据集批量创建快视图
- Git常用命令备忘
- 硬盘的读写原理
- 词干提取(stemming)和词形还原(lemmatization)
- Swap Nodes in Pairs
- cannot be cast to java.lang.Comparable解决办法
- Android中资源文件夹res/raw和assets的使用
- linux输入子系统, 按键输入驱动程序
- Android text文字阴影设置
- PROC的实现
- joj 2526 medic 动态规划
- CToolTipCtrl用法
- Spring MVC学习(六)-------注解式控制器详解3
- Ajax跨域访问问题-方法大全 (转)