我更喜欢使用下一类的静态工厂方法:
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