Arrays.asList
用法
将数组转换为集合
String[] s = {"a","b","c"};
List<String> list = java.util.Arrays.asList(s);
当我们对转换之后的集合做以下操作时会抛出java.lang.UnsupportedOperationException
异常。
list.add("1");
list.remove("1");
list.clear();
解析源码可以看出:
我们发现 Arrays.asList
返回的 ArrayList
类 是 Arrays类的内部类
,这个类重写了很多常用方法, 却没有重写我们的add/remove/clear
方法,所以在使用时会抛出java.lang.UnsupportedOperationException
异常。
《阿里巴巴Java开发手册》泰山版 提及:
使用工具类 Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的 add/remove/clear
方法会抛出 UnsupportedOperationException 异常。
总结:我们在使用Arrays.asList
时,可以用于简单的参数效验,避免去改变list