我遇到了一个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