基础版
List<String> list = new ArrayList<>();
list.add("小明");
list.add("小红");
进阶版
// 方法1
List<String> list = new ArrayList<String>() {{
add("小明");
add("小红");
}};
// 方法2
List<String> list = new ArrayList<String>(Arrays.asList("小明", "小红"));
使用第三方包jcommander
import com.beust.jcommander.internal.Lists;
List<String> list = Lists.newArrayList("小明", "小红");
源码
// 代码实现
public static <K> List<K> newArrayList(K... c) {
return new ArrayList(Arrays.asList(c));
}
分析
通过源码可以发现,其实底层代码就是用的进阶版中分方法2,只是封装了一下。
所有有的时候查看他人写的插件,就会发现很多东西万变不离其中。
jcommander maven地址
<!-- https://mvnrepository.com/artifact/com.beust/jcommander -->
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.78</version>
</dependency>