【发布时间】:2011-11-16 00:02:46
【问题描述】:
我试过下面的代码
String s[]={"1","2","3","4"};
Collection c=Arrays.asList(s);
System.out.println(c.remove("1") +" remove flag");
System.out.println(" collcetion "+c);
我得到了
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(Unknown Source)
at java.util.AbstractList$Itr.remove(Unknown Source)
at java.util.AbstractCollection.remove(Unknown Source)
at test.main(test.java:26)
谁能帮我解决这个问题?
【问题讨论】:
-
大家好,我是 stackoverflow 的新手,对这个网站的功能了解不多。我在工作时发现了这个问题,我只是认为这对其他人有帮助。所以添加了这个问题。
-
您应该阅读常见问题解答。这里不是发布您知道答案的问题的地方
-
@deepankar 你可以回答你的问题。所以不要在下面添加相同的问题写你的答案并接受它。这个问题不会一直是悬而未决的问题
-
顺便说一句...谢谢,这节省了我很多时间;-)
-
我自己解决了这个问题。 最初我对这个问题一无所知。但经过一番研究,我发现
Arrays.asList(s)返回不可修改的集合,因此它抛出了UnsupportedOperationException。我们可以通过使用Collection c= new ArrayList(Arrays.asList(s));或Collection c= new HashSet(Arrays.asList(s));列表创建一个新集合来解决这个问题
标签: java arrays exception collections