List<String> hi = Collections.nCopies(10, "Hi");
List<String> are = Collections.nCopies(10, "Are");
hi.addAll(are);
hi.forEach(System.out::println);
出力CopiesList.addAllメソッドはUnsupportedOperationException
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractCollection.addAll(Unknown Source)
at com.practice.java8.lambdaexp.Test.main(Test.java:14)
を投げる私はAbstractList.addは()JDKに実装を持っていないと思います。それが働いていない理由です。
しかし、CopiesListオブジェクトを使用して新しいArrayListオブジェクトを作成すると、それは適切なadd()実装を持つため動作します。
私の質問です:なぜCopiesList
はaddAllのための適切な実装を持っていませんか? JavaDocとして