Всем добрый вечер. Объясните пожалуйста разницу между присваиванием одного массива другому(int[] array1 = {1,2,3,4,5}; int array2 = int1) и создание копированием (int[] array1 = {1,2,3,4,5}; int[] array2 = Arrays.copyOf(array1, 5);)
Я правильно понимаю, что в первом случае я просто создаю массив, в котором будет храниться ссылка на хранящиеся в нем элементы, то есть array1 и array2 будут ссылаться на одни и те же значения. А во втором случае создастся второй массив с ссылкой, отличной от ссылки первого массива, но с теми же элементами?
Seinek
41 уровень
Разница между присваиванием одного массива другому и копированием
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим Богданенко
7 ноября 2022, 14:36
Все верно. Массив - это объект, то есть имеет ссылочный тип.
В первом случае мы просто копируем ссылку - "путь к расположению массива" и сохраняем в новой переменной.
Во втором случае - в памяти создается новый массив, идентичный первому. Присваивается новая уникальная ссылка.
0
Seinek
13 ноября 2022, 18:49
Теперь понятно. Спасибо большое
0
Igor Petrashevsky
4 ноября 2022, 23:59
правильно
0