- 浏览: 175376 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (87)
- Android (7)
- J2EE (34)
- JavaScript (6)
- CSS (1)
- Scala (0)
- WEB (5)
- Ruby (1)
- J2EE Netbeans JDK (1)
- Maven (2)
- AndroidMenuTest (0)
- ExtJS (1)
- MyBatis (4)
- iBatis (3)
- Quartz (1)
- JavaABC (3)
- HTML (1)
- JQuery (2)
- mysql (3)
- Linux (2)
- windows (1)
- ant (2)
- jboss (1)
- eclipse (1)
- junit (1)
- nginx (1)
- Google (0)
- git (2)
- python (1)
- kafka (1)
- sqlserver (1)
- jdk8+ (1)
java.lang.IllegalArgumentException: Comparison method violates its general contract!
网上查到一个解释:
Description: The sorting algorithm used by java.util.Arrays.sort and (indirectly) by java.util.Collections.sort has been replaced. The new sort implementation may throw an IllegalArgumentException if it detects a Comparable that violates the Comparable contract. The previous implementation silently ignored such a situation. If the previous behavior is desired, you can use the new system property, java.util.Arrays.useLegacyMergeSort, to restore previous mergesort behavior.
也就是说jdk 7的sort函数的实现变了,造成了这个问题,具体原因未知。
改一下系统设置,还是选择使用老版本的排序方法,在代码前面加上这么一句话:System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
网上查到一个解释:
Description: The sorting algorithm used by java.util.Arrays.sort and (indirectly) by java.util.Collections.sort has been replaced. The new sort implementation may throw an IllegalArgumentException if it detects a Comparable that violates the Comparable contract. The previous implementation silently ignored such a situation. If the previous behavior is desired, you can use the new system property, java.util.Arrays.useLegacyMergeSort, to restore previous mergesort behavior.
也就是说jdk 7的sort函数的实现变了,造成了这个问题,具体原因未知。
改一下系统设置,还是选择使用老版本的排序方法,在代码前面加上这么一句话:System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
// return a_actorDetails1.getId() - a_actorDetails2.getId() 改为一下 // double 直接return不支持。 if (a_actorDetails1.getId() - a_actorDetails2.getId() > 0) { comparisonResult = 1; } else if (a_actorDetails1.getId() - a_actorDetails2.getId() == 0) { comparisonResult = 0; } else { comparisonResult = -1; } break;
发表评论
-
日志过滤小工具
2020-01-06 20:15 4521.从全量日志中截断部 ... -
GC参考手册
2017-11-09 14:12 549英文版原文:GC Tuning: In Practice 垃圾 ... -
IDENTITY_INSERT 设置为 OFF 时无法指定插入自增ID
2017-02-15 16:10 660IDENTITY_INSERT 设置为 OFF 时,无法指定I ... -
运行时Exception:Wrong return type in function
2015-11-17 21:31 1524D:\Soft\jdk1.7.0_79\bin\java ... -
Java中的常量:如何避免反模式
2015-10-20 20:41 449参考http://www.importnew.com/1670 ... -
java Socket通信小栗子
2015-09-14 09:25 613server端: package com.test.soc ... -
MyBatis 自动生成xml文件
2015-03-12 11:22 3798package com.test.mybatis; ... -
Java mail test
2015-02-12 11:03 1304mail局域网Exchange服务器测试代码,仅限发送到dom ... -
Java Concurrency / Multithreading Tutorial
2014-10-28 09:35 703Java Concurrency / Multithreadi ... -
Comparison method violates its general contract!
2014-10-22 17:24 959jdk1.6升级到1.7后Comparator有null的参数 ... -
Unknown Source的出现及解决
2014-06-18 10:03 929http://www.2cto.com/kf/201103/8 ... -
ApplicationDeadlockException
2014-06-16 15:39 783参考 : How to avoid huge transact ... -
Java Date相关处理
2014-02-26 14:35 6061.获取UTC时间: Calendar c ... -
Error listenerStart
2013-12-11 19:25 728INFO: Deploying web applicati ... -
Error configuring application listener of class org.springframework.web.context.
2013-12-07 18:54 38181如果Eclipse的BuildPath里面不缺jar包并且在 ... -
iReport字体报错“JRFontNotFoundException”
2013-10-11 11:08 12796net.sf.jasperreports.engine.uti ... -
Eclipse里Jboss的配置
2013-07-15 17:41 9591.\WorkSpace\.metadata\.plugins ... -
Ant安装使用入门
2013-07-04 14:03 568下载Ant之后,增加环境变量1.ANT_HOME=xx/xx/ ... -
javaSystem获取系统信息
2013-03-27 16:30 807public static void main(Strin ... -
设计模式学习笔记
2013-03-22 18:01 839简单工厂,策略模式,单一职责,开放封闭,依赖倒转 装饰模式,代 ...
相关推荐
jdk1.7_linux Linux版零积分jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk...
【标题】"Maven兼容jdk1.7版本"指出的核心知识点是关于Apache Maven的一个特定版本——3.0.5,这个版本与Java Development Kit (JDK) 1.7(也称为Java 7)有着良好的兼容性。在软件开发过程中,构建工具如Maven与...
4. **多变量语法**:JDK1.7引入了` varargs `语法的扩展,允许在方法声明中使用多个相同类型的变量,提高了代码的可读性。 5. **类型推断**:编译器可以更智能地推断局部变量的类型,减少了冗余的类型声明,如`钻石...
**JDK 1.7详解** Java Development Kit(JDK)是Oracle公司提供的用于开发和运行Java应用程序的软件工具包。JDK 1.7,也称为Java SE 7(Java Standard Edition 7),是Java语言的一个重要版本,它包含了编译器、...
Java Development Kit (JDK) 是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。...如果你需要使用特定功能或与旧项目保持兼容,JDK 1.7是一个值得考虑的选择。
在给定的标题“jdk1.7 jdk1.7 jdk1.7”中,反复提及的“1.7”指的是Java的第七个主要版本,也被称为Java 7。这个版本在2011年发布,为开发者带来了许多新特性和改进,旨在提高开发效率和程序性能。 **一、JDK 1.7的...
- 兼容性考虑:某些旧项目可能依赖于JDK 1.7的功能或API,因此即使后续版本已发布,仍然需要保持对1.7的支持。 4. **JDK版本选择** - 当前最新的Java版本是Java 17,每个新版本都会带来性能提升和新功能。但选择...
6. **下载与更新**:虽然Java JDK 1.7是旧版本,但有时出于兼容性考虑仍需使用。通常,可以从Oracle官网获取,但由于描述中提到,也可以在CSDN等平台找到免安装版本,方便快速下载。 总之,Java JDK 1.7是一个重要...
压缩包中的`jdk1.7.exe`是JDK 1.7的安装程序。通常,安装步骤包括以下几步: 1. 下载并运行`jdk1.7.exe`。 2. 遵循安装向导的提示,选择安装目录。 3. 在环境变量中配置`JAVA_HOME`指向JDK的安装路径。 4. 添加`%...
jdk 1.7 64位jdk 1.7 64位jdk 1.7 64位jdk 1.7 64位jdk 1.7 64位jdk 1.7 6
标题 "springboot+mybatis+jdk1.7" 指的是一个基于Spring Boot、MyBatis框架,并使用Java Development Kit 1.7版本构建的Web应用项目。这个项目已经搭建完成,具备基本的结构,方便开发者快速启动一个新的Java Web...
### jdk1.7_64免安装版本百度云下载 #### JDK 1.7 (Java Development Kit) 概述 JDK(Java Development Kit),即Java开发工具包,是Sun Microsystems(已被Oracle公司收购)针对Java语言开发的一款功能强大的软件...
标题"jdk1.7正式版64位下载"指的是这个资源是针对64位操作系统的JDK 1.7的官方稳定版本。64位操作系统能够处理更大的内存地址空间,因此对于需要处理大量数据或者运行大型应用的开发者来说,64位JDK是一个必要的选择...
"jdk1.7-linux" 指的是Oracle公司发布的针对Linux操作系统的JDK 1.7版本,也称为Java 7。这个版本在2011年发布,引入了许多新特性,对Java生态系统产生了深远影响。 **1. JDK 1.7的主要特性:** - **钻石操作符**:...
标题"jdk1.7 linux64位下载"明确指出我们要讨论的是JDK 1.7在64位Linux环境下的安装和使用。 JDK 1.7,也被称为Java 7,是Oracle公司发布的一个重要版本,于2011年发布,包含了多项重要的新特性与改进。其中一些...
- **兼容性**:确保你的系统和应用程序支持JDK 1.7,因为有些较新的库和框架可能需要更高版本的Java。 - **安全更新**:尽管JDK 1.7已经不再接收安全更新,但出于兼容性考虑,某些项目可能仍需使用。在这种情况下,...
在这个例子中,用户指出使用MATLAB2016b导出jar必须依赖JDK1.7,这可能是因为MATLAB的某些功能或库在JDK1.7环境下运行更为稳定或者与之兼容。而JDK1.8或其他更高版本并未进行测试,因此可能存在未知的兼容性问题。 ...
JDK 1.7,也被称为Java SE 7(Java Standard Edition 7),是Java编程语言的一个重要版本,发布于2011年。在Windows 64位操作系统上安装JDK 1.7,开发者可以获得全面的Java开发和运行环境。 **1. JDK的组成部分** ...
本文将深入探讨JDK1.7版本,特别是64位的版本,这对于理解和使用Java编程语言至关重要。 JDK1.7,也被称为Java SE 7(Java Platform, Standard Edition 7),是Oracle公司于2011年发布的一个重要更新。这个版本引入...