午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

java.lang.IllegalArgumentException:比較方法違反了它的一般約定。

瀏覽:174日期:2024-04-24 13:22:54
如何解決java.lang.IllegalArgumentException:比較方法違反了它的一般約定。?

您的compare()方法 。如果A == B和B == C,則A必須等于C。

現(xiàn)在考慮這種情況:

對于A,B和C,假設(shè)containsKey()方法返回以下結(jié)果:

childMap.containsKey(A.getID()) 退貨 truechildMap.containsKey(B.getID()) 退貨 falsechildMap.containsKey(C.getID()) 退貨 true

另外,考慮訂購A.getId()!= B.getId()。

所以,

A并B返回0,因為外部if條件為false=>A == BB并C返回0,因為外部if條件為false=>B == C

但是,A和C可以根據(jù)塊內(nèi)的測試返回-1或。因此,。這違反了傳遞原則。1``if``A != C

我認(rèn)為,您應(yīng)該在else塊內(nèi)添加一些條件,該條件類似于塊內(nèi)的執(zhí)行檢查if。

解決方法

您好,以下是我的比較器的比較方法。我不確定是什么問題。我在堆棧溢出時查找了其他類似標(biāo)題的問題和答案,但不確定我的方法有什么問題,但我一直在獲取java.lang.IllegalArgumentException:比較方法違反了它的一般約定!

任何幫助將不勝感激

public int compare(Node o1,Node o2){ HashMap<Integer,Integer> childMap = orderMap.get(parentID); if(childMap != null && childMap.containsKey(o1.getID()) && childMap.containsKey(o2.getID())) {int order1 = childMap.get(o1.getID());int order2 = childMap.get(o2.getID());if(order1<order2) return -1;else if(order1>order2) return 1;else return 0; } elsereturn 0;}

添加我得到的異常

java.lang.IllegalArgumentException: Comparison method violates its general contract!at java.util.TimSort.mergeLo(TimSort.java:747)at java.util.TimSort.mergeAt(TimSort.java:483)at java.util.TimSort.mergeCollapse(TimSort.java:410)at java.util.TimSort.sort(TimSort.java:214)at java.util.TimSort.sort(TimSort.java:173)at java.util.Arrays.sort(Arrays.java:659)at java.util.Collections.sort(Collections.java:217)

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 成人婷婷 | 国产手机视频在线 | 国产又黄又猛又粗又爽 | 婷婷色在线播放 | 午夜精品影视 | 粉嫩av四季av绯色av | 亚洲成熟少妇视频在线观看 | 国产精品国产三级国产在线观看 | 精品国产一区在线 | 亚洲欧美日本在线观看 | 人人澡人人草 | 大地资源1080在线观看 | 91免费网站在线观看 | 91在线日韩| 日本www视频在线观看 | 亚洲九九夜夜 | 在线观看99 | 成人福利影院 | 99视频导航 | 久操91| 97视频网站 | 91久久久精品 | 色老头一区二区三区在线观看 | 男人av网| 成人看的视频 | 四虎永久免费网站 | 最新色网址 | 五月婷婷六月综合 | 成人午夜淫片免费观看 | 粉嫩av一区二区夜夜嗨 | 国产精品久久久久久久久久免费看 | 伊人青青青 | 中文在线日韩 | 青青草在线免费视频 | 九九视频在线 | www.4hu95.com四虎 国产网站免费看 | 久久av在线 | 性天堂av | 国产精品九九视频 | 精品国产18久久久久久 | 亚洲二区在线视频 |