在学习GWT时我遇到了另一种类型的初始化。 我想知道之间的区别是什么:
1) List<T> = new ArrayList<T>();
和
2) List<T> = Lists.newArrayList();
哪一个有优势?为什么?
答案 0 :(得分:2)
我只能假设:
当你使用泛型时,在List<T>
和new ArrayList<T>();
中设置T都不方便
为了解决这个缺点,使用了静态辅助方法:
List<T> = Lists.newArrayList();
这里类型T是通过类型推断定义的。规则这样的方法是这样实现的:
public static <T> List<T> newArrayList() {
return new ArrayList<T>();
}