Java 列表抛出UnsupportedOperationException

Java 列表抛出UnsupportedOperationException,java,Java,我有下面的示例代码: String[] patternArray = {"1","2","3"}; List<String> patternCheck = Arrays.asList(patternArray); patternCheck.add("4"); 我的问题是为什么我不能向列表中添加新字符串?因为Arrays.asList(patternArray)返回一个固定大小的列表,例如,您不能添加更多的元素。数组。asList()返回一个不可修改的固定大小列表。数组。asList

我有下面的示例代码:

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

我的问题是为什么我不能向列表中添加新字符串?

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

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

数组。asList()
返回一个固定大小的列表。无法向其中添加元素。

数组。asList(…)
返回不可修改的集合。如果要修改,请复制:

List<String> list = new ArrayList<>(Arrays.asList(..))
List List=newarraylist(Arrays.asList(..)
或者,您可以使用:

List List=Lists.newArrayList(“1”、“2”、“3”);

这是否应该参数化(
ArrayList
)?因为Java 7-否,类型是从左侧推断的
List<String> list = new ArrayList<>(Arrays.asList(..))
List<String> list = Lists.newArrayList("1", "2", "3");