我试图对贷款状态进行排序,其中贷款状态为活动,拒绝,待定和批准。主动贷款应该获得最高优先级,其他任何顺序。我实现了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会生成。 –