Arrays.asList的用法,注意事项

232 阅读1分钟

Arrays.asList的用法,注意事项

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