На лекциях 8 уровня объясняют что когда инициализируешь ссылочные переменные то копируешь ссылку на объект, я решил проверить на массивах:
Создал класс который создает одномерный массив,
потом копирую его в другой массив (и тут типо должна ссылка на тот же массив копироваться а не сами значения массива)
затем меняю в одной ячейке значение (array2[2] = 7)
и по идее если я при копировании массива копировал только ссылку, то при выводе на экран ячейки будут равны array[2] = array2[2], но если смотреть консоль, то по факту не равны.
получается при копировании массива копируется не ссылка а именно сам массив?
а в каких случаях тогда именно ссылка копируется?
![]()
public class Massiv {
public static void main(String[] args) {
int[] array = new int[]{8,5,9,3,4,5};
int[] array2 =new int[array.length];
System.arraycopy(array, 0, array2, 0, array.length);
array2[2] = 7;
for(int i = 0; i < array.length; i++){
System.out.print(array[i] + " -| ");
System.out.print(array2[i]);
System.out.println();
}
}
}
