我有這樣的代碼,比較值排序:集合排序
public static Comparator<Partikel> getFFsorted() {
Comparator comp = new Comparator<Partikel>() {
@Override
public int compare(Partikel s1, Partikel s2) {
if(s1.ff>s2.ff)
{
return 1;
}
else
{
return -1;
}
}
};
return comp;
}
,但我有一個這樣的錯誤:在線程「主」 java.lang.IllegalArgumentException異常
例外: 比較方法違反其總合同!在 java.util.TimSort.mergeHi(TimSort.java:868)
在java.util.TimSort.mergeAt(TimSort.java:485)
在java.util.TimSort.mergeCollapse(TimSort。的java:410)
在java.util.TimSort.sort(TimSort.java:214)
在java.util.TimSort.sort(TimSort.java:173)
在java.util中.Arrays.sort(Arrays.java:659)
at java.util.Collections.sort(Collections.java:217)
如何修復它?
*「比較法違反它的一般合同!「*當你[閱讀合同是什麼](http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#compare-TT-)和將它與你的代碼相比較,沒有什麼可以跳出來嗎? –