相关疑难解决方法(0)

为什么泛型类型不适用于参数扩展超类?

这是我一直试图找到解决方案的问题.

我们有两个类定义.其中一个扩展另一个.

    class T{}
    class TT extends T{}
Run Code Online (Sandbox Code Playgroud)

要求是应该有一个列表保持对象扩展T

    List<? extends T> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将TT对象(几乎不是它的T的子类)放入列表时,问题就出现了.

    list.add(new TT());
Run Code Online (Sandbox Code Playgroud)

编译错误消息

类型List中的方法add(捕获#2-of?extends Cell)不适用于参数(Cell)

java generics extends

10
推荐指数
3
解决办法
8049
查看次数

标签 统计

extends ×1

generics ×1

java ×1