我遇到了一個compareTo方法的問題。該程序模擬不同的員工類型,並且我按照員工類型進行了完美排序,但無法按總薪酬進行二次排序。一旦按照類名稱/員工類型排序,它就需要按照grossPay進行排序,我可以通過輔助方法獲取這些數據。以下是代碼:CompareTo Overide Sort
public int compareTo(Object o) {
Employee other = (Employee) o;
if(other instanceof Salaried)
return -1;
else if(other instanceof Daily)
return 1;
else
return 0;
}
我正在使用Collectionssort()與employess的arraylist。當我打印出來的時候,我根據員工類型得到了一個很好的排序清單,但是應該按照grossPay排序。
你可能想看看[http://stackoverflow.com/questions/369512/best-way-to-compare-objects-by-multiple-fields](http://stackoverflow.com/questions/369512 /最好的路到比較對象按多字段)。它(據我瞭解)幾乎可以回答你的問題。 – purtip31