我試圖對貸款狀態進行排序,其中貸款狀態爲活動,拒絕,待定和批准。主動貸款應該獲得最高優先級,其他任何順序。我實現了Comparator接口的compare()。引起:java.lang.IllegalArgumentException:比較方法違反其總體合同
這裏的進行比較()
@Override
public int compare(Object o1, Object o2) {
LoanAccountData loanAccountData1 = (LoanAccountData) o1;
LoanAccountData loanAccountData2 = (LoanAccountData) o2;
if (loanAccountData1.getStatusStringValue().equals("Active")) {
return -1;
} else {
return 1;
}
}
您正在比較兩個對象,完全忽略其中的一個。所以這沒有意義。例如,如果兩個對象都處於活動狀態,則比較a和b會生成。 –