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 ...
随机推荐
- Linux学习笔记(十三)磁盘管理(一):磁盘分区
一.查看磁盘分区使用状况 df [选项] 其中,-l是默认选项 -a 会显示出包括0字节分区在内的所有文件系统分区 -t 后须跟一个参数,这个参数为文件系统的名字,用来在系统中查找属于该文件系统的分区 ...
- I2C总线、设备、驱动
I2C总线.设备.驱动 框架 I2C驱动框架可分为3个部分,分别是:I2C核心层.I2C总线驱动层(适配器层)以及I2C设备驱动层: I2C核心层 提供了统一的I2C操作函数,主要有两套函数smbus ...
- selenium 模拟键盘事件 复制粘贴、右键、回车等
#coding=utf-8 ''' selenium ''' from selenium import webdriver as wd import time bc=wd.Chrome(executa ...
- 解决python中调用 imread 报错:ImportError: cannot import name imread
安装了scipy后,报cannot import name imread错误, 1.网上查阅资料后说是需要安装pillow,安装pillow之后,仍然报该错误, 2.网上说是pillow与SciPy安 ...
- vccode配置c++ 编译环境
https://blog.csdn.net/qq_43041976/article/details/88544632 https://www.cnblogs.com/bpf-1024/p/115970 ...
- java- 泛型类到底是类还是接口,<T extends Comparable>的写法中为什么没有用implements
java-core P533 public static <T extands Comparable> T min(T[] a ) 这里产生了一个疑问,就是 泛型类的英文是generic ...
- Robot Framework--修改log和报告的生成目录
1.修改log和报告的生成目录:-l F:\testreport\log -r F:\testreport\report -o F:\testreport\output -l:log -r:repor ...
- GDI+图像编程
一.Graphics GDI+是GDI(Windows Graphics Device Interface)的后继者,它是.NET Framework为操作图形提供的应用程序编程接口,主要用在窗体上绘 ...
- "Class does not support Automation or does not support expected interface"数据库连接错误问题分析与解决
1,故障现象 本人编译的英文版程序在本机上运行OK,换台电脑运行,发现启动时连接数据库出错. 错误信息如下: --------------------------- Error start datab ...
- PHP---反射--继续剖析
首先定义一个类 <?phpInterface trainning{ public function exec();}class mma implements trainning{ public ...