`
shukuiyan
  • 浏览: 408930 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Arrays.asList() 返回的list不能add,remove

阅读更多

Arrays.asList()返回的是List,而且是一个定长的List,所以不能转换为ArrayList,只能转换为AbstractList
原因在于asList()方法返回的是某个数组的列表形式,返回的列表只是数组的另一个视图,而数组本身并没有消失,对列表的任何操作最终都反映在数组上. 所以不支持remove,add方法的

 

List s = Arrays.asList("1", "2");
		//		List<String> list = new ArrayList<String>();
		//		list.add("6");
		//		list.add("7");
		Object ss = s.remove(0);
		System.out.println(ss);

 以上报错

Exception in thread "main" java.lang.UnsupportedOperationException

 

at java.util.AbstractList.remove(AbstractList.java:144)

分享到:
评论
1 楼 无痕海 2014-07-18  
可以选择用迭代器来删除。

相关推荐

Global site tag (gtag.js) - Google Analytics