列出抛出UnsupportedOperationException

时间:2013-06-12 08:55:40

标签: java

我有以下示例代码:

String[] patternArray = {"1","2","3"};
List<String> patternCheck = Arrays.asList(patternArray);
patternCheck.add("4");

并抛出以下异常

Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.AbstractList.add(Unknown Source)
    at java.util.AbstractList.add(Unknown Source)

我的问题是为什么我无法在列表中添加新字符串?

4 个答案:

答案 0 :(得分:7)

由于Arrays.asList(patternArray);会返回固定大小列表,例如你无法添加更多元素。

答案 1 :(得分:5)

Arrays.asList(..)返回不可修改的集合。如果要修改它,请复制:

List<String> list = new ArrayList<>(Arrays.asList(..))

或者,您可以使用guava

List<String> list = Lists.newArrayList("1", "2", "3");

答案 2 :(得分:0)

Arrays.asList()返回一个不可修改的固定大小列表。

答案 3 :(得分:0)

Arrays.asList()返回固定大小的列表。你不能添加元素。