【发布时间】:2019-01-06 03:42:03
【问题描述】:
我想做一个 n 维原始数组的深拷贝。
public static double[] deepCopy(double[] arr) {
return arr.clone();
}
public static double[][] deepCopy(double[][] arr) {
arr = arr.clone();
for (int i = 0; i < arr.length; i++) {
arr[i] = deepCopy(arr[i]);
}
return arr;
}
public static double[][][] deepCopy(double[][][] arr) {
arr = arr.clone();
for (int i = 0; i < arr.length; i++) {
arr[i] = deepCopy(arr[i]);
}
return arr;
}
以上是深度复制 1、2 和 3 维双精度数组的代码。我想概括任何原始类型和/或概括数组的维度。我想要两者,但我知道 Java 中的很多事情是不可能的,所以如果你只能得到一个也没关系,或者告诉我为什么它不起作用。
谢谢!
【问题讨论】:
-
有什么方法可以对原始类型的 n 维数组进行深拷贝?我只需要克隆,因为我将克隆数组。
-
“有什么办法吗?是的,通过写一些代码来做到这一点。
-
@Andreas 回复没有帮助根本。我想要一种基于抽象维度数组的方法。我已经有了可以处理 1、2 和 3 维数组的代码,我正在寻找抽象。
-
你已经有代码了?嗯....我似乎在您的问题的任何地方都看不到这一点。 --- idownvotedbecau.se/nocode
-
我现在添加了代码。
标签: java arrays generics clone