开发者社区> 问答> 正文

List <T>类型中的方法add(T)不适用于自变量

我在堆栈溢出中搜索了此错误,但是没有一个设计和我一样。对于术语的建议,以帮助找到类似下面的示例代码的类似主题,将不胜感激。

这是一个演示该错误的简单测试用例:

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?

展开
收起
垚tutu 2019-12-04 16:53:47 694 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载