在 Java 中初始化 List 的五种方法
Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式。 1.构造List后使用List.add初始化 这是最常规的做法,用起来不太方便。 2.使用{{}}双括号语法 这种方式相对方便了一些。 外层的{}定义了一个 LinkedList 的匿名内部类。内层的{}的定义了一个实例初始化代码块。 这个代码块在初始化内部类时执行。所以这里相当于定义了一个匿名内部类,并使用add添加元素来初始化。 这种方式有几个缺点: 使用匿名内部类,会有效率上的损失。当然在大多数情况下,这点效率都是可接受的。 静态内部类持有所在外部类的引用。如果需要将 List 返回给到其他地方使用,可能造成内存泄漏。 3.使用Arrays.asList 这种方式使用了java.util.Arrays的静态方法。写法上比之前的两种都更简洁,也没有构造匿名内部类的效率问题。 但也有几点需要注意: Arrays.asList返回的是Arrays的静态内部类(静态内部类不持有所在外部类的引用)。 这个内部类继承自AbstractList,实现了RandomAccess,内部使用了一个数组来存储元素。但是不支持增删...