我有一个这样的列表结构设置:
List<List<Value>> l = new RowList();
这给出了一个"Type mismatch: Cannot convert from RowList to List<List<Value>>"
错误。实现如下:
public class RowList extends ArrayList<ValueList>
public class ValueList extends ArrayList<Value>
值是我代码库中的一个对象。为什么这不起作用?当我有这个时,一切正常:
public class RowList extends ArrayList<List<Value>>
对于我正在处理的大学作业,我们的讲师编写的代码通过调用List<List<Value>>
在我的代码中返回 a 的方法来工作,然后添加List<Value>
到该列表中。由于该程序旨在实现数据库,因此有许多要求,例如键值不出现多次等。为了检查这没有发生,我需要能够拥有一个 ValueList 类或类似的东西所以我可以扩展add()
方法来检查这些要求。
现在听起来这不是正确的做事方式,但我真的没有任何选择,因为我们不允许更改执行此操作的代码。我相信这个想法是它让我们思考泛型。