基础版
List<String> list = new ArrayList<>(); list.add("小明"); list.add("小红");
进阶版
// 方法1List<String> list = new ArrayList<String>() {{ add("小明"); add("小红");}};// 方法2List<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>