error
文章平均质量分 91
ESOO
君子不器
展开
-
这个坑,你要注意:Comparison method violates its general contract!
背景有部分业务需要进行排序,对比的对象是某实体里的金额(double 类型),这样,我们实现了自定义的比较类,结果运行一段时间之后报了错误:Comparison method violates its general contract! ,经过校验,发现错误出现在自定义排序上,经网上各种查阅资料发现是jdk7的兼容问题,以下将解决过程分享给大家。错误截图:重写的比较方法:解决方案先说如何解决,解决原创 2017-04-13 09:30:50 · 33638 阅读 · 6 评论 -
深入jdk——追踪Collections.sort 引发的bug(1)mergeSort
上篇博客介绍了因为重写比较方法引发的bug,这篇博客,咱们深入以下jdk对Collections.sort的实现,看看这个异常产生的原因,废话不多,先看源码:1,Collections.sortpublic static void sort(List list, Comparator c) { Object[] a = list.toArray(); Arrays原创 2017-04-13 09:59:35 · 1952 阅读 · 1 评论