数组转集合报错:java.lang.UnsupportedOperationException
public static void main(String[] args) {
String[] strings = new String[]{"yang","hao","zhang"};
List<String> list = Arrays.asList(strings);
// list.remove("yang");
// strings[0]="changed";
for (String i:list) {
System.out.println(i);
}
}
如果执行list.remove("yang");list.add("li");list..clear();
就会异常java.lang.UnsupportedOperationException
;
原因:使用工具类Arrays.asList(strings);
将数组转为集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法将会抛出UnsupportedOperationException
该异常;asList
的返回对象是一个Arrays的内部类,并没有实现集合的修改方法Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组