【发布时间】:2019-11-02 21:10:05
【问题描述】:
我有:
ArrayList<ArrayList<ArrayList<Task>>> optimalPaths = new ArrayList<ArrayList<ArrayList<Task>>>();
我想创建一个最优化路径的深层副本。副本本身不应包含对最佳路径的任何引用。下面的代码能用吗?
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
}
我不确定在 altPaths 中是否仍然存在某个级别的引用。
【问题讨论】:
-
clone 的文档:返回此 ArrayList 实例的 shallow 副本。 (元素本身不会被复制。)