今天一同事采用Collections.sort 来对文件进行排序,出现
Comparison method violates its general contract 异常,
找了好久,才发现是实现接口Comparator 的类有问题,
在compare中没有处理好两个比较的对象相等的情况
public int compare(T lhs, T rhs);
Comparison method violates its general contract 异常,
找了好久,才发现是实现接口Comparator 的类有问题,
在compare中没有处理好两个比较的对象相等的情况
public int compare(T lhs, T rhs);
即 lhs == rhs 时,返回值不是0
转自:http://www.cnblogs.com/mengshu-lbq/archive/2012/05/08/2490293.html

本文讨论了使用Collections.sort方法对文件进行排序时遇到的ComparisonMethod异常问题,主要原因是实现Comparator接口的类未正确处理两个比较对象相等的情况。通过分析compare方法的实现,文章提供了解决方案。
1734

被折叠的 条评论
为什么被折叠?



