关于排序的Comparison method violates its general contract!错误
2015-10-12 12:02
357 查看
原因:jdk6与jdk7排序算法之间存在着不兼容。
jdk6默认使用
java.util.Arrays.useLegacyMergeSort进行排序;
jdk7默认使用java.util.Arrays.TimSort(似乎)。
然后默认情况下我们只返回了1、-1,所以造成了之前的错误。
解决方案:在compare方法中添加“==”情况下的 “0”返回值。
jdk6默认使用
java.util.Arrays.useLegacyMergeSort进行排序;
jdk7默认使用java.util.Arrays.TimSort(似乎)。
然后默认情况下我们只返回了1、-1,所以造成了之前的错误。
解决方案:在compare方法中添加“==”情况下的 “0”返回值。
相关文章推荐
- HDU 3072 Intelligence System 贪心+强联通缩点
- 基于snowflake算法实现了一个Sequence的Rest服务
- PHP数组foreach引用问题
- eclipse 安装svn 插件
- 一个php+js实时显示时间问题
- 剑指offer—序列化二叉树
- storyboard使用及tableview示例
- Android中实现UI模板-topbar
- 151010 总结
- solr函数
- iOS遇到的那些事(持续总结并更新)-MickyChiang
- C#: 线程池
- 推荐一个国内编程语言排名网站
- pycharm4.5.1 注册码 破解
- 抽象类
- poco框架库Foundtion部分:字符串处理
- hashMap 基本原理
- 在ARC工程 中引入非ARC时,出现错误信息_unsafe_unretained_
- 教养孩子
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏