На 4 строке у меня massiv2 с одним пустым элементом.
На 9 строке я присваиваю первому массиву первый элемент. Второй массив не трогаю.
Почему оказывается, что при этом во втором массиве тоже произошло присваивание? И во втором массиве первый элемент тоже оказался проинициализирован?
public class Solution01 {
public static void main(String[] args) {
String[] massiv1 = new String[1];
String[] massiv2 = massiv1;
System.out.println("массив 1 до присваивания "+massiv1[0]);
System.out.println("массив 2 до присваивания "+massiv2[0]);
massiv1[0] = "Строка";
System.out.println("массив 1 после присваивания "+massiv1[0]);
System.out.println("массив 2 после присваивания "+massiv2[0]);
}
}Барулька Семерадова
26 уровень
Вопрос по массивам
Решен
На 4 строке у меня massiv2 с одним пустым элементом.
На 9 строке я присваиваю первому массиву первый элемент. Второй массив не трогаю.
Почему оказывается, что при этом во втором массиве тоже произошло присваивание? И во втором массиве первый элемент тоже оказался проинициализирован?
public class Solution01 {
public static void main(String[] args) {
String[] massiv1 = new String[1];
String[] massiv2 = massiv1;
System.out.println("массив 1 до присваивания "+massiv1[0]);
System.out.println("массив 2 до присваивания "+massiv2[0]);
massiv1[0] = "Строка";
System.out.println("массив 1 после присваивания "+massiv1[0]);
System.out.println("массив 2 после присваивания "+massiv2[0]);
}
}Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
17 декабря 2020, 13:05решение
Массивы - это ссылочный тип данных, не примитив.
Когда ты пишешь m2 = m1, ты содержимое переменной m1 кладешь в переменную m2.
У ссылочных типов содержимое переменной - не объект, а ссылка на объект.
Так ты получаешь две переменных, ссылающихся на один и тот же объект.
+2
Барулька Семерадова
17 декабря 2020, 13:10
Спасибо
0
Ksenia VolkovaJava Developer в DXCMaster
17 декабря 2020, 13:04решение
В 4-й строке ты присваиваешь переменной massiv2 ссылку на massiv1.
Тут не создается копия первого массива. Ты просто получаешь две переменные, которые ссылаются на один и тот же объект.
+2
Барулька Семерадова
17 декабря 2020, 13:07
Я присоединяюсь к армии поклонников Ксюшеньки.
0