当我实例化自定义List类时,内部数组的行为不符合预期

时间:2012-10-14 01:04:09

标签: java arrays list class instantiation

以下是List类和测试的链接:List and Test classes

以下是打印数组时的结果:

68 93 80 111 103 100 106 0 78 87 78 141 72 等...

数组的大小应该只有10并且用零填充。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

编辑:请参阅以下评论。

当您复制数组时,您正在复制该数组的值(这是对原始数据的引用)。

您需要执行数组的深层副本,否则执行以下行:

int[] temp = Arrays.copyOf(array, array.length*2)

没有给你一个包含原始值的新数组,它只是将旧数组的引用值放到新数组中。

基本上,如果需要执行内容的副本并保留原始数组,则应迭代原始数组的内容并创建新数组。