asList()方法可以将数组转换成list对象
List<String> list = Arrays.asList("a","b","c");
但是这个方法只适用于对象型数据的数组,如String、Integer等包装类,且不支持add()、remove()、clear()等方法
同时这个方法转换出来的list长度是不可变的,原因如下:
asList()方法底层是返回了一个ArrayList对象
public static <T> List<T> asList(T... a) { return new ArrayList<T>(a); }
但是这个ArrayList不是常见的java.util包下的集合类,而是Arrays类自己定义的一个静态内部类。
private final E[] a; ArrayList(E[] array) { if (array==null) throw new NullPointerException(); a = array; }
由上述源码可知这个ArrayList只支持遍历。
综上,如果所要的list只用来遍历,可以使用Arrays.asList()方法;
如果这个list还要用来添加和删除元素,还是应该使用集合类ArrayList一个个从数组中添加元素。
参考:https://blog.csdn.net/rocling/article/details/102768442