Java asList出错

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_28729797/article/details/80063697

代码片段:

String[] array = new String[]{"2","3","4","5","6","7"};

List<String> list = java.util.Arrays.asList(array);

 

if(list.contains(s)){

list.remove(s);

}

报错如下:

扫描二维码关注公众号,回复: 3800331 查看本文章

报错原因:

调用Arrays.asList()生产的Listaddremove方法时报异常,这是由Arrays.asList() 返回的市Arrays的内部类ArrayList, 而不是java.util.ArrayListArrays的内部类ArrayListjava.util.ArrayList都是继承AbstractListremoveadd等方法AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重新了这些方法而Arrays的内部类ArrayList没有重新,所以会抛出异常。

解决办法:

上面代码上加入一句话,转化为ArrayList即可

List<String> arrayList = new ArrayList<String>(list);


猜你喜欢

转载自blog.csdn.net/sinat_28729797/article/details/80063697