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