在我的代码中,我使用了两个不同的类对象 empobj &的雇员即可。 Eclipse要求更改代码
empobj.addAll(employee);
到
empobj.addAll((Collection<? extends EmpApp>) employee);
这是什么意思? 我无法理解这里的概念。 我能否澄清一下这个问题?
答案 0 :(得分:3)
Collection<? extends EmpApp>
是集合的定义。 “雇员进入一个集合,其中包含扩展EmpApp的类的对象。泛型中的”?“表示Eclipse不确定应该在哪个类名。
有关Java中泛型的更多信息,请参阅wikipedia article
答案 1 :(得分:2)
addAll
将参数设为Collection
,然后将该集合的所有元素添加到自身。在你的情况下,你试图给它一些不是Collection
的东西,所以编译器试图通过将参数转换为正确的类型来使它工作。在这种特殊情况下,正确的类型是一些扩展EmpApp
的对象的集合,即Collection<? extends EmpApp>
。
从您的变量名称来看,employee
可能不是一个集合,因此您需要重新访问任何集合empobj
的API,并了解如何添加单个元素它(可能add
)。
答案 2 :(得分:0)
集合是要被视为单个单元的对象组。任意对象可以被存储,检索和放置。被操纵为收集的元素。