可能重复:
`List<Dog>` 是 `List<Animal>` 的子类吗?为什么 Java 的泛型不是隐式多态的?
我已经声明了这些类:
class Cereal{}
和:
public class Flakes extends Cereal{
public static void main(String[] args) {
List<Cereal> newList = new ArrayList<Flakes>();
}
}
但是当我尝试编译这些Java源代码时,出现了这个编译错误:
Type mismatch: cannot convert from ArrayList<Flakes> to List<Cereal>
我的问题是:为什么不可能进行这种转换?是否违反了类型安全规则?或者?
提前感谢您的回复。