【发布时间】:2012-06-17 01:49:17
【问题描述】:
我在覆盖 compareTo 方法时遇到问题。该程序模拟了不同的员工类型,我完美地按员工类型排序,但不能让它按总工资进行二次排序。一旦它按类名/员工类型排序,它就需要按 GrossPay 排序,我可以通过辅助方法获得。下面是代码:
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;
}
我正在将 Collection.sort() 与雇员的数组列表一起使用。当我打印出来时,我会得到一个按员工类型排序的很好的列表,但它应该按 GrossPay 排序。
【问题讨论】:
-
你可能想看看http://stackoverflow.com/questions/369512/best-way-to-compare-objects-by-multiple-fields。它(据我了解)几乎可以回答您的问题。