2

可能重复:
List<Dog>的子类List<Animal>吗?为什么 Java 的泛型不是隐式多态的?

我有这个代码:

ArrayList<A> objects = new ArrayList<A>();

objects.add(new B());

B子类 o在哪里A。它给了我一个编译时错误,如下所示:

ArrayList 类型中的方法 add(A) 不适用于参数 (B)

4

1 回答 1

10

这编译并运行良好:

import java.util.ArrayList;

class A {
}

class B extends A {
}

class Test {
    public static void main(String[] args) {
        ArrayList<A> arraylist = new ArrayList<A>();
        arraylist.add(new B());
    }
}

再看看你的代码。也许你把它倒过来并A延伸了B

于 2012-08-26T20:17:10.967 回答