我的類實現了Comparator<ClassName>
。使用Collections.sort對Java 8中的ArrayList排序
我的要求是在叫rNumber
雙類型字段的降序排序ArrayList<Hw4b> myList;
。我調用Collections.sort(myList,this);
我總是
異常在線程「主」 java.lang.IllegalArgumentException異常: 比較法違反其總承包!在 java.util.TimSort.mergeHi(TimSort.java:899)
這是我的代碼。
@Override
public int compare(Hw4b o1, Hw4b o2) {
double r1 = o1.rNumber;
double r2 = o2.rNumber;
if(r2 > r1)
return 1;
else if(r2 < r1)
return -1;
else
return 0;
}
我嘗試,如果條件改變了,但它並沒有在all.Any幫助解決表示讚賞。我正在使用Java 8
您可能以錯誤的方式使用此功能。請參閱[本教程使用詳細信息](https://www.mkyong.com/java8/java-8-lambda-comparator-example/) –