关闭

java错误Comparison method violates its general contract!

标签: java异常
382人阅读 评论(0) 收藏 举报
分类:

今天用到Collections.sort();方法时,提示错误如下:


网上查到一个解释:

Description: The sorting algorithm used by java.util.Arrays.sort and (indirectly) by java.util.Collections.sort has been replaced. The new sort implementation may throw an IllegalArgumentException if it detects a Comparable that violates the Comparable contract. The previous implementation silently ignored such a situation. If the previous behavior is desired, you can use the new system property, java.util.Arrays.useLegacyMergeSort, to restore previous mergesort behavior.

也就是说jdk 7的sort函数的实现变了,造成了这个问题,具体原因未知。

网上找了解决方法,如下

加入一句代码

<span style="font-size:14px;">System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");</span>

转载出处:http://blog.csdn.net/fanzitao/article/details/8040201

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:179313次
    • 积分:2529
    • 等级:
    • 排名:第15072名
    • 原创:89篇
    • 转载:55篇
    • 译文:0篇
    • 评论:27条
    最新评论