1、通过构造方法,例如:List<String> list = new ArrayList<>();
然后调用list.add增加元素,如果知道初始化的值,这种先构造再一项项添加的方式,用起来并不爽,于是一边都用下面的方法
2、通过Arrays.asList("a", "b");
但是这种方法构造出的List是固定长度的,如果调用add方法增加新的元素,会报异常:java.lang.UnsupportedOperationException,其实也可以理解,这个List是由Array转换而来,而Array是不能动态增加长度的,适合于构造静态不变List,
3、通过Java8引入的Stream提供的方法:List list = Stream.of("a", "b").collect(Collectors.toList());
这种方式跟第二种类似,但是list可以动态添加元素,比较友好,适合于构造动态List
4、通过guava提供的方法,List list3 = Lists.newArrayList("f", "g");
适合于构造动态List,虽然只是个语法题,但是易用性确实好很多,可以用一个简单语句代替之前用很多语句才能实现的功能,方便表达出程序员的想法。Guava里的很多方法都非常方便,相信基本都是来自于实践中的痛点,对JDK里的方法是个很好的补充。