java中为了避免我们自己手动将数组转换成list,提供了一个便捷的方法如下:
String[] a = new String[]{"a","b","c"};
Arrays.asList(a)
但是有一小点注意,不能对该方法返回的list进行增删操作,因为该方法返回的是Arrays的内部类
Arrays.asList源码:
public static <T> List<T> asList(T... a) {
return new ArrayList<T>(a);//这里返回的Arrays的的内部类,继承AbstractList
}
AbstractList的add和remove方法源码:
public boolean add(E e) {
add(size(), e);
return true;
}
public void add(int index, E element) {
throw new UnsupportedOperationException();
}
public E remove(int index) {
throw new UnsupportedOperationException();
}
所以要想正常进行增删,可以使用如下方式
String[] a = new String[]{"a","b","c"};
new ArrayList<String>(Arrays.asList(a));