原文:[Java]实现Comparable接口不严谨导致Comparison method violates its general contract!

因为业务需要,自己的model实现了Comparable接口,在Service层使用Collections.sort 方法对model对象的list进行排序。 但是在运行的时候,却报下面的异常。 经过搜索得知,在JDK 以后,实现Comparable接口后,要满足一下三个特性: 自反性:x,y 的比较结果和 y,x 的比较结果相反。 传递性:x gt y,y gt z,则 x gt z。 对称性: ...

2017-08-14 11:24 1 25886 推荐指数:

查看详情

Comparison method violates its general contract!

  废话少说,直接上报错信息(如下图)   最近公司app上有个列表时而报错,时而不报,复现问题不是很容易,翻看了下日志才知道是排序的地方有问题,这还是我第一次遇到,具体定位:Collectio ...

Thu Nov 02 18:26:00 CST 2017 0 2635
Comparison method violates its general contract

今天一同事采用Collections.sort 来对文件进行排序,出现 Comparison method violates its general contract 异常, 找了好久,才发现是实现接口Comparator 的类有问题, 在compare中没有处理好两个比较的对象相等的情况 ...

Wed May 09 00:24:00 CST 2012 0 19191
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM