自由飞翔

我在仰望,java之上

统计

留言簿(2)

我关注的blog

阅读排行榜

评论排行榜

异常积累:java.lang.UnsupportedOperationException (转载)

文章来源:http://hi.baidu.com/%C2%CC%B0%D3%D0%C4%C9%F1%B2%BB%C4%FE/blog/item/139b9b17a3c3b44621a4e935.html    
在使用Arrays.asList()后调用add,remove这些method时出 现java.lang.UnsupportedOperationException异常。这是由于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(),add()等,所以throw UnsupportedOperationException。
例如:

String[] s = {
"one", "two", "three", "four", "five",
"six", "seven", "eight", "nine", "ten",
};

List a = Arrays.asList(s);

解决办法:List b = new ArrayList(a);然后再去执行add和remove;



Gavin

posted on 2011-11-08 20:13 GavinMiao 阅读(1126) 评论(0)  编辑  收藏 所属分类: 异常积累


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问