5

我有下面的示例代码:

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

4 回答 4

7

因为Arrays.asList(patternArray);返回一个固定大小的列表,例如你不能添加更多元素。

于 2013-06-12T08:57:35.847 回答
5

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

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

或者,您可以使用guava

List<String> list = Lists.newArrayList("1", "2", "3");
于 2013-06-12T08:58:35.990 回答
0

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

于 2013-06-12T08:58:04.907 回答
0

Arrays.asList()返回一个固定大小的列表。您不能向其中添加元素。

于 2013-06-12T08:58:05.217 回答