文档章节

“Comparison method violates ...”异常的再现方法

hunterli
 hunterli
发布于 08/17 12:36
字数 165
阅读 4
收藏 0
JDK

前提条件:JDK8

代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Test {

    public static void main(String[] args) {
        // list size > 32
        List<Integer> list = new ArrayList<>();
        list.add(5);
        list.add(1);
        list.add(9);
        list.add(5);
        list.add(1);
        list.add(5);
        list.add(11);
        list.add(5);
        list.add(5);
        list.add(1);
        list.add(9);
        list.add(5);
        list.add(1);
        list.add(5);
        list.add(11);
        list.add(5);
        list.add(5);
        list.add(1);
        list.add(9);
        list.add(5);
        list.add(1);
        list.add(5);
        list.add(11);
        list.add(5);
        list.add(5);
        list.add(1);
        list.add(9);
        list.add(5);
        list.add(1);
        list.add(5);
        list.add(11);
        list.add(5);
        list.add(5);
        list.add(1);
        list.add(9);
        list.add(5);
        list.add(1);
        list.add(5);
        list.add(11);
        list.add(5);

        Collections.sort(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 > o2 ? 1 : -1;
            }
        });

        System.out.println(list);
    }
}

 

© 著作权归作者所有

共有 人打赏支持
hunterli
粉丝 36
博文 88
码字总数 14848
作品 0
大连
程序员
私信 提问
JDK7版本运行抛出异常:Comparison method violates its general contract

最近在学Java,后续尝试用Java在云服务器上做个项目 不过在做一个年龄排序题目的时候,JDK7版本运行抛出异常:Comparison method violates its general contract。 下面是代码: import jav...

云非絮
2016/12/07
1K
6
JDK7-Collections.sort()报Comparison method violates its general contract异常

记录在 JDK7 下使用 Collections.sort() 排序偶发的一个异常,以前在 JDK1.6 下面没有这个问题: Comparison method violates its general contract 发生问题的代码段: 一个很简单的排序,在...

山哥
2016/09/12
119
0
记一次bug fix:比较器错误

起 4月1号收到兼职端的反馈,说进入“已分配“页面失败,显示系统错误。使用我自己账号登录,无法复现问题,但是使用兼职同学提供的账号进行测试,确实存在这个问题。 定位问题 首先查看日志...

苗新国
2016/06/27
40
0
feilong-core 1.10.5,让 Java 开发更简便的工具包

feilong-core 1.10.5 发布了。feilong-core 是一个让 Java 开发更简便的工具包, 可以让你从大量重复的底层代码中脱身,提高工作效率; 让你的代码更简炼,易写、易读、易于维护; 本次升级共有 ...

飞天奔月
2017/07/31
445
3
Comparison method violates its general contract!

在使用spark RDD中,需要进行二次排序,二次排序需要使用到scala List的sortWith(compare),需传递一个比较函数compare给sortWith,这个时候会报如标题所示的错误。 val rdd1 = rdd.groupBy...

cjun1990
2016/03/31
631
0

没有更多内容

加载失败,请刷新页面

加载更多

babel6升级到7,jest-babel报错:Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

自从将前端环境更新到babel7,jest-babel之前是基于babel6的,执行时候就会报:Requires Babel "^7.0.0-0", but was loaded with "6.26.3". 很烦,因为连续帮好几台电脑修复这个问题,所以记...

曾建凯
52分钟前
1
0
探索802.11ax

802.11ax承诺在真实条件下改善峰值性能和最差情况。 如何改善今天的Wi-Fi? 在决定如何改进当前版本以外的Wi-Fi时,802.11ac,IEEE和Wi-Fi联盟调查了Wi-Fi部署和行为,以确定更广泛使用的障碍...

linuxprobe16
今天
2
0
使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
今天
4
0
深入理解Plasma(四):Plasma Cash

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash。 深入理解Plasma(1):...

HiBlock
昨天
1
0
命令参数的三大风格:Posix、BSD、GNU

今天读到命令行中参数的风格有三大类,即Unix/Posix、BSD、GNU。分别有以下特征: Unix/Posix风格,即命令后的参数,可以分组,便必须以连字符开头,如ps -aux。 BSD风格,即命令后的参数,可...

大别阿郎
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部