ase*_*a38 70 java generics guava
创建List
字符串的最佳构造是什么?是Lists.newArrayList()
(来自番石榴)还是new ArrayList()
?
这只是个人偏好吗?
或者只是键入泛型类型推断?
或者使用Lists.newArrayList()是否有任何理论或实践价值?
Boz*_*zho 89
番石榴构建器可以多次保存键入类型参数.相比:
List<Foo<Bar, Baz>> list = Lists.newArrayList();
List<Foo<Bar, Baz>> list = new ArrayList<Foo<Bar, Baz>>();
Run Code Online (Sandbox Code Playgroud)
在Java 7中,它有点过时,因为你有钻石操作符:
List<Foo<Bar, Baz>> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
Pau*_*ora 30
来自番石榴的来源:
public static <E> ArrayList<E> newArrayList() {
return new ArrayList<E>();
}
Run Code Online (Sandbox Code Playgroud)
所有这一切都是允许类型推断 - 在运行时没有区别.
卢声远*_* Lu 14
添加一个点,Lists.newArrayList()的重载版本更有用:
Lists.newArrayList(E... elements)
Lists.newArrayList(Iterable<? extends E> elements)
Lists.newArrayList(Iterator<? extends E> elements)
提供比它更有用的功能 new ArrayList()
.
例如:new ArrayList()
不能这样做:
Lists.newArrayList("a","b");
Lists.newArrayList(anIterable);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
80273 次 |
最近记录: |