gpt4 book ai didi

java - 为什么我无法将 SuperType 添加到 的 List 中?

转载 作者:行者123 更新时间:2023-12-02 22:52:58 29 4
gpt4 key购买 nike

public class SuperType {
}

public class TestClass<T extends SuperType > {

public void doSomething() {
List<T> list = new ArrayList<T>();
list.add(new SuperType ()); // ERROR
}
}

它无法编译,给我

The method add(T) in the type List is not applicable for the arguments (SuperType)

但是为什么呢?

最佳答案

假设你有

public class SuperType {
}

public class SubType extends SuperType {
}

并使用TestClass<SubType>你的代码变成

public class TestClass<SubType> {

public void doSomething() {
List<SubType> list = new ArrayList<SubType>();
list.add(new SuperType ());
}
}

这一定会出错,因为 new SuperType()不够具体。它必须至少是 SubType .

关于java - 为什么我无法将 SuperType 添加到 <T extends SuperType> 的 List<T> 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17967521/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com