问题简介
在Java当中,若希望在创建数组的同时给数组赋值很简单,可以想下面这样:
int[] num = {1,2,3};
String strs = {“a”, “b”, “c”}
但是,如果我们创建List集合,或者Map集合时,也想快速地为它赋初始值,应当如何做呢?
解决方式
方式1:调用函数
请看如下代码:
ArrayList list = new ArrayList<>(Arrays.asList(“aa”, “bb”, “cc”));
Arrays.asList(T… a) 方法的参数是一个可变长参数,也就是说他能够传入一个数组,也能够传入多个参数,而它的作用就是将传入的数组或多个数据封装成List集合返回,而上面的代码就是接收返回的List集合,并将其作为参数传入ArrayList的构造方法,创建一个新的ArrayList对象。
说到这里有人可能要问了,为什么不能直接将asList方法的返回值赋给list参数,而要将它传入构造器创建新的对象呢?这不是脱裤子放屁——多此一举吗。当然不是,请看下面的代码:
// 代码1
List list1 = Arrays.asList(“aa”, “bb”, “cc”);
list1.add(“dd”); // UnsupportedOperationException
// 代码2
S
版权声明:本文为weixin_42134240原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。