java - 调试 "Comparison method violates its general contract!"

标签 java sorting

我有一个自己的、相对复杂的字符串比较器和一个大的字符串列表(~100 个字符串,已经尝试减少但问题不可重现),在尝试使用 Java 7 进行排序时对它们进行排序会产生上述错误。我想,规则

if a < b and b < c then a < c

可能会被侵犯。找出违反契约(Contract)的 sample 的最佳方法是什么?

最佳答案

好吧,我用蛮力的方式做到了:3 个嵌套循环将 3 个值相互比较并验证上述规则。现在发现了一个违反规则的样本。

关于java - 调试 "Comparison method violates its general contract!",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18364904/

相关文章:

java - 排序算法的时间复杂度

java - 如何在java中阻止写入标准输出(System.out.println())

java - Java 中对 ArrayList<class> 进行排序

arrays - 如何按日期对数组进行排序并在 ionic 2 中进行计数

javascript - 反向排序数组的 sortedIndex?

javascript - 使用 javascript 对复杂的无序列表进行排序

iphone - 在 Objective-C 中对 NSArray 进行排序的更好方法

java - 访问 GridLayout 中的按钮

java - 写入性能最佳的嵌入式 SQL 数据库?

java - 为什么以及如何应用阈值来获得更好的匹配特征