首页 > 代码库 > Arrays.asList方法遇到的问题

Arrays.asList方法遇到的问题

在使用Arrays.asList(T...a)方法时,遇到了

java.lang.UnsupportedOperationException  异常。

 

后来发现,该方法返回的类型是Arrays$ArrayList,即Arrays类的内部类ArrayList,而非集合中的ArrayList。

Arrays$ArrayList继承了AbstractList但没有重写remove,add等方法,因此跟随父类默认抛出java.lang.UnsupportedOperationException。

而集合中的ArrayList重写了这类方法。

 

解决方法:将Arrays.asList 转换为集合ArrayList :new ArrayList<T>(Arrays.asList(T...a))

Arrays.asList方法遇到的问题