0
所以我創建了一個員工對象和一個驅動程序。該驅動程序包含一個Employees的ArrayList,並且此特定方法返回名稱首先按字母順序排列的Employee。如何正確使用在String中實現的compareTo方法?
讓我們將兩個員工添加到ArrayList'staff'並稱他們爲「a」和「z」。
出於某種原因,當我期望它返回Employee「a」時,它總是返回Employee「z」。我是否正確使用了compareTo方法,還是完全是其他的東西?
public Employee first()
{
int guy = 0;
for (int x = 1 ; x < staff.size() ; x ++)
{
if (staff.get(x -1) instanceof Employee && staff.get(x - 1).getName().compareTo(staff.get(x).getName()) < 0)
guy = x - 1;
}
return ((Employee) staff.get(guy));
}
這些文檔說明了它的工作原理是什麼? – 2013-02-17 07:21:06
你還沒有向我們展示compareTo方法的實現 – Bozho 2013-02-17 07:24:19
爲什麼你不在一些自定義比較器上排序列表?爲什麼需要檢查'instanceof'呢? – 2013-02-17 07:25:21