我知道如果一个指针在C中声明(并且没有初始化),它将指向一个可以包含任何内容的"随机"内存地址.
它实际上指向的地方怎么样?据推测,这不是真正的随机,因为这将是低效和不合逻辑的.
为什么不可能做这样的事情?
RowList<List<Value>> extends ArrayList<List<Value>>
Run Code Online (Sandbox Code Playgroud)
另外,怎么可能这样做?
RowList<Value> extends ArrayList<List<Value>>
Run Code Online (Sandbox Code Playgroud)
我正在尝试实现一个List要在a中使用database,并且想要扩展,ArrayList所以我能够检查.add(),.set()等方法是否违反了要求Database(不要用相同的键添加两行等).我意识到这可能不是实现a的最佳方式database,但它是大学的一项任务,要求我们这样做.
编辑:使用第二个选项(编译),如何访问RowList类包含的列表中的值?
我有一个List结构设置如下:
List<List<Value>> l = new RowList();
Run Code Online (Sandbox Code Playgroud)
这给出了一个"Type mismatch: Cannot convert from RowList to List<List<Value>>"错误.实施如下:
public class RowList extends ArrayList<ValueList>
public class ValueList extends ArrayList<Value>
Run Code Online (Sandbox Code Playgroud)
Value是我的代码库中的一个对象.为什么这不起作用?当我有这个时,一切正常:
public class RowList extends ArrayList<List<Value>>
Run Code Online (Sandbox Code Playgroud)
对于我正在进行的大学任务,我们的讲师编写的代码通过调用List<List<Value>>在我的代码中返回一个方法,然后添加List<Value>到该列表的方法来工作.由于该程序旨在实现数据库,因此有许多要求,例如键值不会出现多次等.要检查这是否发生,我需要能够有一个ValueList类或类似的东西所以我可以扩展add()方法来检查这些要求.
现在听起来这不是正确的做事方式,但我真的没有任何选择,因为我们不允许改变执行此操作的代码.我相信这个想法是让我们考虑仿制药.