2011-03-31 20 views

回答

4

List<Cat>是最好的選擇。首先,它將一個接口聲明爲一個返回值,因此您可以稍後修改實現,例如從ArrayList切換到其他。其次,它使用泛型,它總是更好,因爲它使值類型安全。

1
public List<Cat> getCatsByCatHerderID(int id); 

第三種方法,因爲您只處理列表中定義的方法,不用擔心該方法返回的列表類型。另外,如果你要使用Web服務,第三個方法是確定的,因爲List更好地在Web服務中瞭解比ArrayList(想像一下ArrayList .NET?)

如果你真的返回ArrayList,然後這個:

public ArrayList<Cat> getCatsByCatHerderID(int id); 
2

第三個。

第一個是壞的,因爲它會迫使你的API的用戶投入列表條目,他可能會選擇將它們投射到(狗)爲你現在的所有。

第二個不好的原因如果Java在1.7中出現SuperFastList,並且您想要使用它而不是ArrayList?