android java.lang.IllegalArgumentException: Comparison method violates its general contract! 问题
android java.lang.IllegalArgumentException: Comparison method violates its general contract! 问题
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeLo(TimSort.java:)
at java.util.TimSort.mergeAt(TimSort.java:)
at java.util.TimSort.mergeCollapse(TimSort.java:)
at java.util.TimSort.sort(TimSort.java:)
at java.util.TimSort.sort(TimSort.java:)
at java.util.Arrays.sort(Arrays.java:)
at java.util.Collections.sort(Collections.java:)
需求排序:数据列表中如果fileName的文件存在的话,放到列表的最上面
public class MyData{
private String fileName;
public void setfileName(String fileName){
this.fileName=fileName;
}
public String getfileName(){
return this.fileName;
}
}
private void MySort(List<MyData> MyDatas){
Collections.sort(MyDatas, new Comparator<MyData>() {
@Override
public int compare(MyData lhs, MyData rhs) { // lhs和rhs 都要用上,不然会出错,本人测试是这样的,具体不知为何
// TODO Auto-generated method stub
if (lhs == null || rhs == null)
return ;
String path="/mnt/file/";
// file one
String name1= lhs.getfileName();
String filename1 = path + name1;
File file1 = new File(filename1);
// file two
String name2= rhs.getfileName();
String filename2 = path + name2;
File file2 = new File(filename2);
if (file1.exists() == true && file2.exists() == true) {
return ;
} else {
if (file1.exists() == true) {
return ;
} else {
return -;
}
}
}
});
Collections.reverse(MyDatas);
}
android java.lang.IllegalArgumentException: Comparison method violates its general contract! 问题的更多相关文章
- Java 异常解决之java.lang.IllegalArgumentException: Comparison method violates its general contract!
Java 异常解决 在你的代码前加一句 System.setProperty("java.util.Arrays.useLegacyMergeSort", "true&q ...
- java.lang.IllegalArgumentException: Comparison method violates its general contract!
这个错误就是写比较器的时候少写了返回值的情况: 比如: Collections.sort(list, new Ordering<QtmSysUserListDto>() { @Overri ...
- 集合比较器报错java.lang.IllegalArgumentException: Comparison method violates its general contract!
Collections.sort(listMonthlyUsage, new Comparator<MonthlyUsageDto>() { //按照元素从小到大排序 @Override ...
- java-collections.sort异常Comparison method violates its general contract!
转载:http://www.tuicool.com/articles/MZreyuv 异常信息 java.lang.IllegalArgumentException: Comparison metho ...
- JDK7的Comparison method violates its general contract异常
1.摘要 前一阵遇到了一个使用Collections.sort()时报异常的问题,跟小伙伴@zhuidawugui 一起排查了一下,发现问题的原因是JDK7的排序实现改为了TimSort,之后我们又进 ...
- Comparison method violates its general contract
生产环境出现的错误排查,错误log如下 java.lang.IllegalArgumentException: Comparison method violates its general contr ...
- 解决“Comparison method violates its general contract!”
The ONE跑MaxProp.Prophet可能(取决于你JDK的版本)会报“java.lang.IllegalArgumentException: Comparison method violat ...
- Comparison method violates its general contract 解决
java.lang.IllegalArgumentException: Comparison method violates its general contract! 原因 JDK7中的Collec ...
- [ Error 分析] Comparison method violates its general contract!
public static void main(String[] args) { List<Long> ret = new ArrayList<>(); int n = 103 ...
随机推荐
- Vue入门——v-if和v-show
v-if 特点:每次都会重新删除或创元素 有较高的切换性能消耗 v-show 特点:每次不会重新进行DOM的删除和创建操作,只是切换了元素的display:none样式 有较高的初始渲染消耗
- 收藏!了解UART总线工作原理看这一篇就够了!
原文:玩转单片机 2019-08-24 16:50:29 越学到后面,基础知识更加不能忘记,温故而知新~~ 还记得当年的打印机,鼠标和调制解调器吗?他们都有巨大笨重的连接器和粗电缆,并且必须拧到你的电 ...
- springboot2.0入门(六)-- ymal语法、数据校验
一.基本使用 1.ymal语法是一种更符合人类命名习惯的语法: # 1. 一个家庭有爸爸.妈妈.孩子. # 2. 这个家庭有一个名字(family-name)叫做“happy family” # 3. ...
- python的logging日志模块(一)
最近修改了项目里的logging相关功能,用到了Python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 ...
- python自动华 (一)
Python自动化 [第一篇]:Python简介和入门 Python简介: 一.什么是python Python是一门动态解释性的强类型定义语言. pythonde 特点:“优雅”.“明确”.“简单” ...
- 纯 css 控制隔行变色
使用::nth-child 选择器 tr:nth-child(odd) { background-color: #ccc; } tr:nth-child(even) { background-colo ...
- P2272 [ZJOI2007]最大半连通子图 tarjan+DP
思路:$tarjan+DP$ 提交:1次 题解:首先对于一个强连通分量一定是一个半连通分量,并且形成的半连通分量的大小一定是它的$size$,所以我们先缩点. 这样,我们相当于要在新的$DAG$上找一 ...
- HTML元素常用属性整理
a标签 <!-- 去除下划线 --> a{ text-decoration:none; //去掉默认下滑线 color:#333; //设置默认颜色 } a:hover{ text-dec ...
- window.open全屏显示
将window.open(url,'','height=600,width=910,top=0,left=0,toolbar=no,menubar=no,scrollbars=yes,resizabl ...
- 「LOJ 121」「离线可过」动态图连通性「按时间分治 」「并查集」
题意 你要维护一张\(n\)个点的无向简单图.你被要求执行\(m\)条操作,加入删除一条边及查询两个点是否连通. 0:加入一条边.保证它不存在. 1:删除一条边.保证它存在. 2:查询两个点是否联通. ...