我在堆栈溢出中搜索了此错误,但是没有一个设计和我一样。对于术语的建议,以帮助找到类似下面的示例代码的类似主题,将不胜感激。
这是一个演示该错误的简单测试用例:
import java.util.List;
public class SimpleTest {
abstract class AbsTask<T>
{
}
abstract class AbsQueue<T extends AbsTask<?>>
{
private List<T> lst;
public void addSpecialItem()
{
lst.add(new SpecialItem()); // Error occurs here
}
}
class SpecialItem extends AbsTask<Void>
{
}
}
我想添加到我的抽象类的方法AbsQueue称为addSpecialItem,这将插入SpecialItem类到列表中的通用列表T中基本上是列表AbsTask。
这是错误: The method add(T) in the type List is not applicable for the arguments (SimpleTest.SpecialItem)
如果我输入case如下所示,我可以解决此错误:
lst.add((T)new SpecialItem());
是否有处理这种不类型转换的方式new SpecialItem()来T?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。