当前位置: 首页 > news >正文

Comparator不满足自反性错误,Comparison method violates its general contract

APP运行退出,跟踪信息

java.lang.IllegalArgumentException: Comparison method violates its general contract!

Collections.sort(idxsList);//按score升序排列

查看idxs类

public int compareTo(Idxs o) {  //重写compareTo方法
       return (int) (this.getConfVal()*100-o.getConfVal()*100);

}

JDK1.7开始对Comparator类进行了优化,某些情况必须返回0。

Comparator必须包含。自反性:当两个相同的元素相比,compare方法必须返回0,也就是compare(o1, o1) = 0;反对称性:如果compare(o1,o2) = 1,则compare(o2, o1)必须返回符号相反的值也就是 -1。

修改为:

public int compareTo(Idxs o) {  //重写compareTo方法
        if (this.getConfVal() < o.getConfVal()) {
            return -1;
        } else if (this.getConfVal() > o.getConfVal()) {
            return 1;
        } else {
            return 0;
        }
 }

错误解决!

http://www.xdnf.cn/news/426313.html

相关文章:

  • Cursor开发酒店管理系统
  • RevIN(Reversible Instance Normalization)及其在时间序列中的应用
  • SpringBoot中使用集群版Redis
  • sparkSQL读入csv文件写入mysql
  • 基于自动化工具autox.js的抢票(猫眼)
  • P1032 [NOIP 2002 提高组] 字串变换
  • [ctfshow web入门] web72
  • vscode百宝箱工具插件(devtools)
  • 数据可视化图表
  • pe文件二进制解析(用c/c++解析一个二进制pe文件)
  • 网络层试题
  • c语言第一个小游戏:贪吃蛇小游戏05
  • 2025.05.11阿里云机考真题算法岗-第三题
  • java高效实现爬虫
  • SAM 2: Segment Anything in Images and Videos
  • 2025年渗透测试面试题总结-渗透测试红队面试九(题目+回答)
  • kingbase链接数修改、数据备份/还原
  • py7zr解压文件时报错CrcError(crc32, f.crc32, f.filename)
  • 学习黑客Windows 卷影复制服务详解
  • SQL 索引优化指南:原理、知识点与实践案例
  • 深入理解 NumPy:Python 科学计算的基石
  • MCU程序加密保护(一)闪存读写保护法 加密与解密
  • Pycharm的终端执行allure命令出现command not found
  • 【计算机视觉】OpenCV实战项目:基于OpenCV与face_recognition的实时人脸识别系统深度解析
  • 物理:人的记忆是由基本粒子构成的吗?
  • 《类和对象(下)》
  • 抗量子计算攻击的数据安全体系构建:从理论突破到工程实践
  • FFmpeg 与 C++ 构建音视频处理全链路实战(三)—— FFmpeg 内存模型
  • Linux云计算训练营笔记day07(MySQL数据库)
  • 手搓传染病模型(SEIARW)