Comparison method violates its general contract! 报错
时间: 2023-11-30 16:39:40 浏览: 138
java中排序报:Comparison method violates its general contract异常的解决
这个报错是Java中排序时常见的错误之一。它的意思是排序方法违反了它的一般契约,即排序方法没有正确实现Comparable或Comparator接口的规范。这个错误通常发生在使用自定义比较器时,比较器没有正确实现compare方法。解决这个问题的方法是确保比较器实现了正确的比较逻辑,即当compare方法返回正数时,第一个参数应该排在第二个参数之后,返回负数时则相反,返回0时两个参数相等。另外,还需要确保比较器的实现不会因为参数的顺序不同而导致不同的结果。
阅读全文