我有以下示例代码:
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)
我的问题是为什么我无法在列表中添加新字符串?
答案 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()
返回固定大小的列表。你不能添加元素。