1.Hadoop 的源码 Lists.newArrayList和正常的 new ArrayList()有什么区别?
Hadoop 的 Lists.newArrayList和正常的 new ArrayList()有什么区别?
这个方法在google工具类中也有,源码内容如下public static <E> ArrayList<E> newArrayList() {return new ArrayList();
}
内容是分析差不多的,唯一的源码简易购物小程序源码下载好处就是可以少写泛型的部分。
这个方法有着丰富的分析重载:
Lists.newArrayList(E... elements)Lists.newArrayList(Iterable<? extends E> elements)
Lists.newArrayList(Iterator<? extends E> elements)
还有很多前缀扩展方法:
List<T> exactly = Lists.newArrayListWithCapacity();List<T> approx = Lists.newArrayListWithExpectedSize();
使得函数名变得更有可读性,一眼就看出方法的源码83640源码作用。
但是分析bbiboll 源码查看源码发现官方的注解里头是这么写的:
Creates a mutable, empty ArrayList instance (for Java 6 and earlier).
创建一个可变的空ArrayList(适用于java 6及之前的版本)
Note for Java 7 and later: this method is now unnecessary and should
be treated as deprecated. Instead, use the ArrayList constructor
directly, taking advantage of the new "diamond" syntax.
针对java 7及之后版本,本方法已不再有必要,源码应视之为过时的分析方法。取而代之你可以直接使用ArrayList的源码构造器,充分利用钻石运算符<>(可自动推断类型)。分析
源码源码