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 ...
随机推荐
- Django hrf:权限、频率控制
一.权限 二.频率控制 一.权限 1.权限介绍 只有超级用户才能访问指定的数据,所以就要用权限组件进行设置 2.局部使用 # 单独抽出写一个视图类 from rest_framework.permis ...
- Linux赋予root权限
按照帖子都一一尝试了下 https://blog.csdn.net/yajie_china/article/details/80636783 首先增加用户和给新用户创建密码,都不用说 用useradd ...
- Ubuntu系统---配置OpenCV
Ubuntu系统---配置OpenCV 目录 一.Ubuntu下配OpenCV 二.Ubuntu下配python-opencv 说明 上述一.二两种方式,配置OpenCV还是有区别的.按个人已有知 ...
- Window脚本学习笔记之BAT文件处理
BAT文件处理 列出盘中特定文件名的文件: @echo offdir C:\*.jpg /b/s>.\CDatejpg.txt dir C:\*.png /b/s>.\CDatepng.t ...
- mysql运维相关
1.为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?2.现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统 ...
- ASP.NET Core 2.0身份和角色管理入门
见 https://blog.csdn.net/mzl87/article/details/84892916 https://www.codeproject.com/Articles/1235077 ...
- pyside pyqt QPushbuttion 无边框 stylesheet border:none
pyside pyqt QPushbuttion 无边框 stylesheet border:none 在 stylesheet 中添加 border:none 即可 效果是字体到边缘之间的间隙为0, ...
- JS基本数据类型和引用数据类型区别
1.栈(stack)和堆(heap) stack为自动分配的内存空间,它由系统自动释放:而heap则是动态分配的内存,大小也不一定会自动释放 2.数据类型 JS分两种数据类型: 基本数据类型:Numb ...
- Maven 设置阿里镜像
Maven 默认的中央仓库速度慢,可以考虑换成阿里的镜像.修改方式主要有两种. 1.针对所有项目修改中央仓库Maven 提供了全局配置文件 settings.xml 针对所有项目有效,位置是在安装目录 ...
- 利用XtraBackup给MYSQL热备(基于数据文件)
利用XtraBackup给MYSQL热备(基于数据文件) By JRoBot on 2013 年 11 月 26 日 | Leave a response 利用XtraBackup给MYSQL热备(基 ...