Comparison method violates its general contract! 錯誤

问题描述

請問出現java.lang.IllegalArgumentException:Comparisonmethodviolatesitsgeneralcontract!的錯誤訊息查了網路確認是JDK1.7的關係有人說必須更嚴謹的編寫程式碼請問以下的程式碼應該要怎麼改才能避掉這個錯誤呢?謝謝各位的幫忙publicintcompare(Objectoa,Objectob){SortForObjecta=(SortForObject)oa;SortForObjectb=(SortForObject)ob;if(a.getSortValue1()!=b.getSortValue1()){if(Integer.parseInt(a.getSortValue1(),10)-Integer.parseInt(b.getSortValue1(),10)>0){return-1;}else{return1;}}else{if(a.getSortValue2()!=b.getSortValue2()){if(a.getSortValue2().compareTo(b.getSortValue2())>0){return-1;}else{return1;}}else{if(a.getId().compareTo(b.getId())>0){return-1;}else{return1;}}}}

解决方案

解决方案二:
加上相等时的情况即==时返回0

时间: 2024-12-23 05:33:46

Comparison method violates its general contract! 錯誤的相关文章

Comparison method violates its general contract

   今天一个群里哥们儿碰到一个异常,抛到群里求解答,他的代码如下图: 抛出的异常信息为: Java代码   java.lang.IllegalArgumentException: Comparison method violates its general contract!   at java.util.TimSort.mergeHi(TimSort.java:868)   at java.util.TimSort.mergeAt(TimSort.java:485)   at java.ut

mysql-執行階段錯誤'13' 型態不符合 ----VBA 連接MYSQL多表查詢

问题描述 執行階段錯誤'13' 型態不符合 ----VBA 連接MYSQL多表查詢 ** 請教各位高手: 我在VBA中如下連接mysql單表查詢沒問題,有數據出來. ** .CommandText = Array( _ "select " _ & "proc_hist_0.prod_pn , proc_hist_0.LOT_NO, proc_hist_0.proc_ID, proc_hist_0.IN_TIME, proc_hist_0.IN_QTY, proc_hi

[JSP/Servlet入門]JSP錯誤處理

js|servlet 剛開始撰寫JSP時,總是會被JSP的除錯訊息所困擾,如果沒有稍微瞭解JSP與Servlet之間運作關係的初學者,所看到的只是一堆除錯訊息,甚至例外發生的訊息,這些訊息雖然包括詳細的錯誤訊息,但對於初學者而言卻是不友善.不易閱讀理解的.基本上,只要瞭解JSP與Servlet之間的運作關係,並瞭解Java編譯訊息與例外處理,要瞭解在撰寫JSP網頁時,因錯誤而產生的錯誤報告頁面就不是件難事. 我們知道JSP終究會轉換為Servlet,而運行時真正動作的是Servlet類,所以錯誤

游戏-apk安装出现了解析錯誤,求助!

问题描述 apk安装出现了解析錯誤,求助! 我在安装偶像大师闪亮舞台apk是出现如题的情况,并不是下载中丢失文件,Googleplay也说了我可以安装,说明应该不是安卓版本的问题吧,求助!! 解决方案 我遇到该问题的原因是apk存放文件夹的权限,和下载文件本身的权限不够.修改文件夹和文件权限即可public static void installApp(String filePath){ try { Process p = Runtime.getRuntime().exec("chmod 777

更改package名稱後出現錯誤

问题描述 更改package名稱後出現錯誤 https://gist.github.com/anonymous/61ee581624e276800707d791326472cb 已有將jni以及upnp兩個資料夾裡的檔案有原本名稱換成更改後名稱 想請問是哪裡出了問題?

picturebox-影像處理C#程式碼相關問題請大大幫忙修正哪裡錯誤

问题描述 影像處理C#程式碼相關問題請大大幫忙修正哪裡錯誤 公式如圖片程式碼如下: 我已經先把 pictureBox2.Image是IL ==>也是放大後影像 pictureBox3.Image是Iold ==>濾波後的影像 height = this.pictureBox2.Image.Height; width = this.pictureBox2.Image.Width; Bitmap bitmap1 = new Bitmap(pictureBox2.Image); Bitmap bit

web 程序出現以下錯誤,從錯誤來看是sqlce出錯,可是把SQL語句執行后并沒有出錯

问题描述 失敗的應用程式名稱:w3wp.exe,版本:7.5.7601.17514,時間戳記:0x4ce7a5f8失敗的模組名稱:sqlceme40.dll,版本:4.0.8876.1,時間戳記:0x4fcd14b9例外狀況碼:0xc0000005錯誤位移:0x000057be失敗的處理程序識別碼:0x139c失敗的應用程式開始時間:0x01d18f0f07873327失敗的應用程式路徑:c:windowssystem32inetsrvw3wp.exe失敗的模組路徑:C:ProgramFiles

sqlMigration for sybase 使用odbc provider出現下圖錯誤訊息

问题描述 sqlMigration for sybase 使用odbc provider出現下圖錯誤訊息 各位大大 小弟在做sqlmigration sybase 轉換至ms sql 2012 出現下面的錯誤訊息 請問該怎麼修改設定 解决方案 台湾的朋友?你的字符集的设置有问题,google下sql server字符集设置.

輸入錯誤網址,彈出錯誤頁面

问题描述 如http://tw.yahoo.com/aaaaaaaa彈出錯誤頁面這功能怎做 解决方案 解决方案二:customErrors是怎樣用解决方案三:更改IIS的404错误配置解决方案四:引用1楼kkwai的回复: customErrors是怎樣用 定义一个错误的页面在WEBCONFIG里面customErrors=TRUE.指定到你这个页面解决方案五:www.ABC/abc.aspx能出customErrors但www.ABC/abc或www.ABC/abc.html便不能出custo