私は、コードのいくつかの並べ替えを書いて、時間のO2 O1オブジェクトの始まりは、開始時間未満であることを意味するO1、O2の順序を交換していない、そうでない場合は交換順序
(。。o1.getTimeStart()getTime()<o2.getTimeStart()getTime()){場合は -1を返します。 }他{ 1を返します。 }
しかし、最大の実行に異常情報が前に遭遇したことはありません
java.lang.IllegalArgumentExceptionが:比較方法が一般的な契約に違反します! java.util.TimSort.mergeLo(TimSort.java:777)で java.util.TimSort.mergeAt(TimSort.java:514)で java.util.TimSort.mergeForceCollapseで(TimSort.java:457) java.utilので。 TimSort.sort(TimSort.java:254) java.util.Arrays.sortで(Arrays.java:1438)
直接処理として、JDK7後に新しいソーティングアルゴリズムTimSort、2に等しい値のない決意を交換するので、異常報告情報の検討後。
その後の補足的な詳細