我有两个List<List<String>>并且想将它们连接起来。
这是我的代码:
List<List<String>> a = Arrays.asList(Arrays.asList("a", "b", "c"));
List<List<String>> b = Arrays.asList(Arrays.asList("d", "e", "f"));
a.addAll(b);
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用并引发异常。
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
Run Code Online (Sandbox Code Playgroud)
下面的代码有效:
List<List<String>> a = new ArrayList<>();
a.add(Arrays.asList("a", "b", "c"));
List<List<String>> b = new ArrayList<>();
b.add(Arrays.asList("d", "e", "f"));
a.addAll(b);
Run Code Online (Sandbox Code Playgroud)
这里有什么区别?