У меня есть класс, в котором есть конструктор.Этот конструктор должен создать глубокую копию переданного массива. Я не думаю, что это так, поскольку он не проходит некоторые тесты, когда я манипулирую полученной матрицей.
Я пытался создать копиюsubarray и использовал это для создания другого массива с arrays.copyOf.Но я думаю, что это все равно приводит к использованию тех же адресов нет?
public Matrix(int rows, int columns, double... elements) {
// remember double ... elements means varargs
if (elements.length != rows * columns) {
throw new IllegalArgumentException("Illegal number of rows and columns for elements given");
}
this.rows = rows;
this.columns = columns;
this.matrix = new double[this.rows][this.columns];
for(int i = 0; i<this.rows; i++){
double[] row = Arrays.copyOfRange(elements, i*columns, (i+1) * columns);
this.matrix[i] = Arrays.copyOf(row,columns);
}
Я бы хотел, чтобы полученный this.matrix имел уникальные адреса элементов.