码迷,mamicode.com
首页 > 其他好文 > 详细

为什么使用 Arrays.asList()得到的集合,使用remove( )和 add( )方法会抛出unsupportedoperationexception(不支持操作异常)

时间:2017-05-26 19:00:55      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:arraylist   ide   方法   支持   lis   iter   amp   exce   继承   

 这是由于:
  
  Arrays.asList() 返回java.util.Arrays$ArrayList, 而不是ArrayList。


Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等 method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。


  
ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(int),add(int)等,所以throw UnsupportedOperationException。


  解决方法是使用Iterator,或者使用 ArrayList。

为什么使用 Arrays.asList()得到的集合,使用remove( )和 add( )方法会抛出unsupportedoperationexception(不支持操作异常)

标签:arraylist   ide   方法   支持   lis   iter   amp   exce   继承   

原文地址:http://www.cnblogs.com/JimCalark/p/6909942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!