Ste*_*ess 3 java generics types
我试图理解以下代码。
class Test<E extends SubTest>
{
List<Vector<E>> links;
Test()
{
links = MyStaticClass.aList;
// Where aList is static ArrayList<Vector<SubTest>>;
}
}
Run Code Online (Sandbox Code Playgroud)
如何将以下内容分配ArrayList给链接列表会出现错误。考虑到我用SubTest扩展了E,它不理解作业吗?
当我有一个参数T t时;我可以访问t属性,但不能执行上述操作。难道不List<Vector<T>>链接指望得到ArrayList<Vector<SubTest>>呢?
您误解了错误。
实际的问题是E与SubTest。
如果您创建的实例Test<SubSubTest>(where SubSubTest继承SubTest),则您的代码将尝试将SubTests 的集合(可以容纳任何派生类)放入类型变量List<Vector<SubSubTest>>(只能容纳SubSubTest)。
| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |