原文:[Java]實現Comparable接口不嚴謹導致Comparison method violates its general contract!

因為業務需要,自己的model實現了Comparable接口,在Service層使用Collections.sort 方法對model對象的list進行排序。 但是在運行的時候,卻報下面的異常。 經過搜索得知,在JDK 以后,實現Comparable接口后,要滿足一下三個特性: 自反性:x,y 的比較結果和 y,x 的比較結果相反。 傳遞性:x gt y,y gt z,則 x gt z。 對稱性: ...

2017-08-14 11:24 1 25886 推薦指數:

查看詳情

Comparison method violates its general contract!

  廢話少說,直接上報錯信息(如下圖)   最近公司app上有個列表時而報錯,時而不報,復現問題不是很容易,翻看了下日志才知道是排序的地方有問題,這還是我第一次遇到,具體定位:Collectio ...

Thu Nov 02 18:26:00 CST 2017 0 2635
Comparison method violates its general contract

今天一同事采用Collections.sort 來對文件進行排序,出現 Comparison method violates its general contract 異常, 找了好久,才發現是實現接口Comparator 的類有問題, 在compare中沒有處理好兩個比較的對象相等的情況 ...

Wed May 09 00:24:00 CST 2012 0 19191
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM