泛型不兼容的类型

Ale*_*lov 5 java

偶然发现不兼容的类型错误原因我不明白.

为什么这段代码错了?

List<List<String>> a = new ArrayList<>();
List b = a; // is ok
List<List> c = a; // incompatible types
Run Code Online (Sandbox Code Playgroud)

sfT*_*mas 7

这里描述.超类型兼容性仅适用于"外部"级别,但不适用于类型参数之间的"内部".它不直观,但它是如何工作的...此外,它List是一种原始类型,它的行为略有不同List<Object>- 这里描述的.