2014-02-11 47 views
4

我正在瀏覽以下Java tutorial,其中顯示瞭如何對Person對象的「年齡」進行排序。需要簡單的方法來創建用於排序的比較器類

class PersonAgeComparator implements Comparator<Person> { 
public int compare(Person a, Person b) { 
    return a.getBirthday().compareTo(b.getBirthday()); 
} 
} 

我的問題是,有沒有一個簡單的方法,比如可以生成此代碼爲我的嚮導:爲了做到這一點,你必須按如下方式創建一個類?我知道有一個嚮導可以生成hashcode和equals,但是用於排序的Comparator類又如何呢?這真的會有幫助......如果我們必須根據年齡和姓名進行排序,我將不知道如何自行創建比較方法。一個嚮導真的可以幫到這裏。

+0

你在用什麼IDE? – nikis

+2

您已經顯示了5行代碼。你需要多久做一次這樣的事情,你需要一個5行代碼的嚮導? –

+0

你必須知道對象如何相互比較,這是日食不能 –

回答

0

不,沒有這樣的嚮導。計算機如何知道要比較哪些變量,最重要的是,他們的關係如何工作?

關於比較名稱的另一點。不同的語言在字母表中有不同的排序規則,所以名稱的排序可能因地點而異!這些都是針對您正在解決的問題的非常具體的,並且不存在一般解決方案。

+3

您可以嘗試使用Fastcode Eclipse插件(3pintech.com/products/fast-code/installation.htm )。它與上述要求類似(3pintech.com/products/fast-code/templates.htm#comparatorclass) –