Lists.newArrayList vs new ArrayList

2022-08-31 12:44:21

创建字符串的最佳结构是什么?是(来自番石榴)还是?ListLists.newArrayList()new ArrayList()

这只是个人喜好吗?
或者只是类型泛型类型推断?
或者使用 Lists.newArrayList() 是否有任何理论或实践价值?


答案 1

番石榴生成器节省了多次键入类型参数的时间。比较:

List<Foo<Bar, Baz>> list = Lists.newArrayList();
List<Foo<Bar, Baz>> list = new ArrayList<Foo<Bar, Baz>>();

在Java 7中,它有点过时了,因为你有菱形运算符:

List<Foo<Bar, Baz>> list = new ArrayList<>();

答案 2

来自番石榴的来源

public static <E> ArrayList<E> newArrayList() {
    return new ArrayList<E>();
}

所做的就是允许类型推断 - 运行时没有区别。


推荐