Comparison method violates its general contract
今天一同事采用Collections.sort 来对文件进行排序,出现
Comparison method violates its general contract 异常,
找了好久,才发现是实现接口Comparator 的类有问题,
在compare中没有处理好两个比较的对象相等的情况
public int compare(T lhs, T rhs); 即 lhs == rhs 时,返回值不是0
你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳
今天一同事采用Collections.sort 来对文件进行排序,出现
Comparison method violates its general contract 异常,
找了好久,才发现是实现接口Comparator 的类有问题,
在compare中没有处理好两个比较的对象相等的情况
public int compare(T lhs, T rhs); 即 lhs == rhs 时,返回值不是0