List 转成 Array
List提供public <T> T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。
String[] array = (String[])list.toArray(new String[size]);
Array 转成 List
public static <T> List<T> asList(T... a)
例如 List<String> list=Arrays.asList(array);
这个方法比较坑就是获得的List 不能add和remove 是一个定长的List
Arrays.asList()返回的ArrayList继承自AbstractList,它仅支持那些不会改变数组大小的操作,所以任何对底层数据结构的尺寸进行修改的方法都会出现异常,Arrays.asList()返回固定尺寸的List。
解决方法new 一个新的ArrayList List<T> list=new ArrayList<T>(Arrays.asList(array));