Java® массивы в MATLAB® являются ссылками. Назначение переменной массива другой переменной приводит ко второй ссылке на массив, а не к копии массива. Для примера создайте и инициализируйте origArray
.
origArray = javaArray('java.lang.Double',3,4); for m = 1:3 for n = 1:4 origArray(m,n) = java.lang.Double((m*10)+n); end end origArray
origArray = java.lang.Double[][]: [11] [12] [13] [14] [21] [22] [23] [24] [31] [32] [33] [34]
Создайте вторую ссылку на newArrayRef
массива.
newArrayRef = origArray;
Измените массив, на который ссылаются newArrayRef
. Изменения также появляются в origArray
.
newArrayRef(3,:) = java.lang.Double(0); origArray
origArray = java.lang.Double[][]: [11] [12] [13] [14] [21] [22] [23] [24] [ 0] [ 0] [ 0] [ 0]