重写比较器遇到错误参数异常的问题
来源:互联网 发布:迈视高清网络摄像机 编辑:程序博客网 时间:2024/05/16 12:34
下述代码实现了按照map的value排序,但不希望两个值相同时返回0,即发生覆盖
Collections.sort(sortedInterfaceReqCount, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o1.getValue() > o2.getValue() ? -1 : 1; } });但,会报如下异常:
Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract!at java.util.TimSort.mergeLo(TimSort.java:747)at java.util.TimSort.mergeAt(TimSort.java:483)at java.util.TimSort.mergeCollapse(TimSort.java:408)at java.util.TimSort.sort(TimSort.java:214)at java.util.TimSort.sort(TimSort.java:173)at java.util.Arrays.sort(Arrays.java:659)at java.util.Collections.sort(Collections.java:217)at com.qunar.training.Question1.RequestMessage.sortInterfaceReqCount(RequestMessage.java:67)at com.qunar.training.Question1.AccessLogProcessor.process(AccessLogProcessor.java:60)at com.qunar.training.Question1.AccessLogProcessor.readFile(AccessLogProcessor.java:32)at com.qunar.training.Question1.RequestMessageShow.process(RequestMessageShow.java:40)at com.qunar.training.Question1.RequestMessageShow.show(RequestMessageShow.java:30)at com.qunar.training.Question1.Main.main(Main.java:14)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
经过在网上查询说是java1.7的一个bug,在程序最前面加上下面一句就可以:
System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
0 0
- 重写比较器遇到错误参数异常的问题
- 重写组件遇到的问题
- 重写DrawItem遇到的问题
- URL重写 时遇到的问题
- xml遇到的异常问题
- 重写View的时候遇到inflate的错误
- 日常中遇到的 异常&&错误 锦集
- maven遇到的异常和错误解决方法
- Android开发遇到的异常或错误
- 我遇到过的错误,异常
- Android Studio重写方法时参数显示异常的解决方法
- 错误查找遇到的问题
- c++ 类中重写赋值操作符遇到的问题
- Storm中遇到的日志多次重写问题(一)
- 重写mtcnn遇到的python及tensorflow问题
- 遇到一个比较有意思的NIO问题!
- 工作中遇到异常处理的问题
- Tomcat启动时遇到的异常问题
- ACM--map+string--HDOJ 1251--统计难题--水
- Web性能优化:图片优化
- c++虚函数的讲解
- UVa 10763 Foreign Exchange,交换学生(习题5-4)
- 自定义多状态高仿应用下载百分数视图
- 重写比较器遇到错误参数异常的问题
- linux top命令中CPU 占用说明
- 数组中只出现一次的数字
- ProgressDialog简单用法,软件登录、注册时弹出Dialog
- Oil Deposits(DFS)
- HDU 2222 Keywords Search (AC自动机)
- C++11读书笔记—1(长期历史遗留问题,宏定义与类型)
- 函数柯里化
- HTMLCSS基础-选择符优先级