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();
使得函数名变得更有可读性,一眼就看出方法的源码预约软件源码下载作用。
但是分析视觉纸板计数源码查看源码发现官方的注解里头是这么写的:
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的源码构造器,充分利用钻石运算符<>(可自动推断类型)。分析
源码源码