Java 创建向量数组副本以进行进一步修改的方法
我正在创建我自己的向量类,它能够执行许多不同的计算。然而,我似乎遇到了一个障碍。我有一些方法,比如排序、标量加法/乘法和反转方法,我需要执行这些方法,但是我想先创建向量的副本,以便修改它。 这是我的代码,仅以排序方法为例:Java 创建向量数组副本以进行进一步修改的方法,java,arrays,Java,Arrays,我正在创建我自己的向量类,它能够执行许多不同的计算。然而,我似乎遇到了一个障碍。我有一些方法,比如排序、标量加法/乘法和反转方法,我需要执行这些方法,但是我想先创建向量的副本,以便修改它。 这是我的代码,仅以排序方法为例: Vector vector = new Vector(length); for (int i = 0; i < length - 1; i++) { for (int j = i + 1; j < length; j++){
Vector vector = new Vector(length);
for (int i = 0; i < length - 1; i++) {
for (int j = i + 1; j < length; j++){
if (vector.elements[i] > vector.elements[j]) {
long temp = vector.elements[i];
vector.elements[i] = vector.elements[j];
vector.elements[j] = temp;
}
}
}
return vector;
您只需要一个复制构造函数,即
Vector(Vector other)
:
- 使用
this.sum=other.sum分配所有标量字段代码>等李>
- 使用以下命令分配数组字段:
this.elements = Arrays.copyOf(other.elements, other.elements.length);
- 使用以下命令分配数组字段:
(不清楚为什么需要
length
字段,因为elements.length==length
-只需使用元素。length
)length
似乎是模板的一部分:非常感谢您的回答!
this.elements = Arrays.copyOf(other.elements, other.elements.length);