Arrays.asList 产生的是一个固定大小的数组。
一旦想要更改,就会报错UnsupportedOperationException
发生问题的原因如下:
调用Arrays.asList()生产的List的add、remove方法时报异常,这是由Arrays.asList() 返回的市Arrays的内部类ArrayList, 而不是java.util.ArrayList。Arrays的内部类ArrayList和java.util.ArrayList都是继承AbstractList,remove、add等方法AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重写了这些方法而Arrays的内部类ArrayList没有重写,所以会抛出异常。
解决办法
List<String> list = new ArraysList(Arrays.asList(String));
list.add();
list.remove();