我有:
ArrayList<ArrayList<ArrayList<Task>>> optimalPaths = new ArrayList<ArrayList<ArrayList<Task>>>();
我想创建optimumPaths的深层副本。副本本身不应包含对optimumPaths的任何引用。以下代码可以工作吗?
ArrayList<ArrayList<ArrayList<Task>>> altPaths = new ArrayList<ArrayList<ArrayList<Task>>>();
for (ArrayList<ArrayList<Task>> e : optimalPaths){
altPaths.add((ArrayList<ArrayList<Task>>) e.clone()); // Create deep copy of optimalPaths
}
我不确定在某种程度上altPath中是否仍然存在引用。
您可以自己做
如果Task类没有要复制的任何临时字段,则可以通过序列化和反序列化使用复制: