我在执行包含ArrayList对象的Node副本时遇到了问题。这些Node有一个HashSet<Edge> of Edge对象,它指向ArrayList中的其他Node以形成有向图。我需要复制这个ArrayList,同时维护有向图结构,这样我就可以像遍历原始列表一样遍历复制的列表。
问题是,我对这份清单的深拷贝不够“深”。当我在方法中复制数组时(下面),Node对象的副本仍然指向原始<e
我首先克隆了1D基元数组(它将容纳包装器),然后更改克隆数组的第一个值。但是原始数组的第一个值没有更改。然后我克隆了一个2D数组,并做了同样的操作。(更改数组值).There,值在originalArray时也发生了变化。为什么会发生这种事。这是由于浅拷贝和深拷贝造成的吗?我的一维数组示例 arr[0]=1;
ar