数组转换遇到异常:java.lang.UnsupportedOperationException
代码:
String[] otherUserFromArray = new String[]{"a","b","c"}; List<String> userFromList = Arrays.asList(otherUserFromArray); userFromList.add("d");
使用Arrays.asList()生产List的时候,表面看是java.util.ArrayList,但实际使用的是Arrays的内部类ArrayList,继承了AbstractList,但没有重写add和remove方法,直接调用到了父级AbstractList的方法,但父级方法,直接抛出了UnsupportedOperationException异常。
Arrays.ArrayLis类型:
父级add方法,直接抛出异常:
解决办法:
多转换一次
List<String> userFromList = new ArrayList<>(Arrays.asList(otherUserFromArray));