Collections.sort 报错
时间: 2023-08-26 14:15:18 浏览: 78
Sort-Collections-Typescript
引用中的源代码显示了在比较器中进行整数排序的实现。在比较两个对象时,首先获取排序字段的值,并将其转换为整数。然后根据整数值的大小进行升序或降序排序。然而,这段代码存在问题,因为如果两个对象的排序字段值相等,但返回的是非零值(即-1或1),这将违反比较器的总体契约。
引用展示了修改后的代码。在这个修改后的代码中,如果两个对象的排序字段值相等,那么将返回0,以保持比较器的总体契约。这样就可以避免Comparison method violates its general contract异常的出现。
因此,如果在使用Collections.sort()方法时报错,可能是由于比较器的实现不符合总体契约。需要检查比较器的代码,确保在比较相等的对象时返回0,以避免这个异常的出现。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [【java】Collections.sort()方法报异常:" Comparison method violates its general contract"的解决过程](https://blog.csdn.net/SodaGreenDay/article/details/93506394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文