java.lang.UnsupportedOperationException

数组转换遇到异常: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));
原文地址:https://www.cnblogs.com/DreamFather/p/13502996.html