数组转List的方法:
String[] s = new String[2];
s[0]="abc";
s[1]="qaz";
方法一:Arrays.asList(s)
List<String> list = Arrays.asList(s);
list.add("efgk");//报错
list.set(1,"plo");
返回值是Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,并非java.util.ArrayList类。该静态内部类ArrayList的成员变量a使用了final,用于存储集合的数组引用始终被强制指向原有数组java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有添加add()或删除remove()方法.
方法二:new ArrayList<>(Arrays.asList(s))
List<String> list = new ArrayList<>(Arrays.asList(s));
list.add("efgk");
list.set(1,"plo");
创建了新的集合,对集合的修改不会修改数组里的值.
方法三:Collections.addAll(list,s)
ArrayList<Object> list = new ArrayList<>();
Collections.addAll(list,s);
根据数组长度,创建一个长度相同的list,通过Collections.addAll(),将数组里的元素转为二进制,然后添加到list里(最高效).
标签:Arrays,List,ArrayList,list,数组,new,方法 From: https://www.cnblogs.com/OKGOsky/p/17023775.html