【发布时间】:2012-02-16 22:02:08
【问题描述】:
我有一个方法需要 List<SuperClass> 作为参数:
public void myMethod(List<SuperClass> list) {}
我想用List<Subclass> 来调用该方法,例如:
List<SubClass> subList = new ArrayList<>();
// ...
myMethod(subList); // Got an argument mismatch error on this line.
当SubClass extends SuperClass时我不应该能够做到这一点吗?
【问题讨论】:
-
你没有传递一个子类。您正在传递一个子类的 list。 list 不是另一个列表的子类。
标签: java list generics compiler-errors subclass