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))