我更喜歡使用下一類的靜態工廠方法:
public final class CollectionUtils {
private CollectionUtils() {
}
public static <T> List<T> list(T... data) {
return Arrays.asList(data);
}
public static <T> ArrayList<T> newArrayList() {
return new ArrayList<T>();
}
public static <T> ArrayList<T> newArrayList(T... data) {
return new ArrayList<T>(list(data));
}
}
所以,你可以在接下來的方式在代碼中使用它們:
import static CollectionUtils.list;
import static CollectionUtils.newArrayList;
public class Main {
private final List<String> l1 = list("a", "b", "c");
private final List<String> l2 = newArrayList("a", "b", "c");
}
因此,您得到了比較緊湊的創建和填充列表的方式,並且不需要重複通用的de clarations。請注意,list
方法只是創建數組的列表視圖。您不能在稍後添加元素(或刪除)。同時newArrayList
創建通常的ArrayList
對象。
由於Joachim Sauer指出,這些實用方法(和許多其他有用的東西)可以在Google Collections庫(現在是Guava項目的一部分)中找到。
後期工作,但你不必在身體使用'l.'-前綴。簡單的'add(「a」);'就夠了。 – Ahe 2010-02-03 07:36:40