返回Java集合的最佳方式是什麼?java:返回集合
我應該允許調用者提供一個集合添加到?或者只是返回一個List<>
或Set<>
的項目?或兩者?
public class Item { ... }
public class SomeOtherClass
{
private List<Item> myItems;
public List<Item> getItems()
{
return Collections.unmodifiableList(this.myItems);
}
public void collectItems(Collection<? super Item> target)
{
target.addAll(myItems);
}
}
注:上面的例子假設可以立即返回一個列表的前生。當這樣的列表先前不存在,並且當調用者調用getItems()或collectItems()時,我也會對這個列表產生興趣。 (我已經根據Mykola提出的觀點重新命名了collectItems。)
+1表示Collections.unmodifiableList。正是我在找的東西。 – Adam 2010-07-01 15:34:01