将一个数组转换为list集合时,使用List <数组类型>list = Arrays.asList(数组),当转换后,list不可改变大小。请看下面的程序:
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class TestArraysAsList {
public static void main(String[] args) {
String []str = {"aaa","bbb","ccc"};
List <String> list = Arrays.asList(str);
list.add("aaa");//不能支持的操作,因为list是不可以变化的,此时不能添加
Collections.shuffle(list);//随机混排
System.out.println(list.get(0));
}
}
运行结果:
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractList.add(Unknown Source)
at com.test0806.TestArraysAsList.main(TestArraysAsList.java:13)
分析:抛出异常,原因是因为,经过Arrays(数组操作工具)的方法asList()转换得到的list是不可变化的。所以不能添加。