以下是来自泛型教程的示例。
List<String> list = new ArrayList<>();
list.add("A");
// The following statement should fail since addAll expects
// Collection<? extends String>
list.addAll(new ArrayList<>());
为什么最后一行代码看起来应该能编译,但实际上无法通过编译。而第一行使用了非常类似的结构却没有问题。请详细解释。