«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как правильно скопировать 2D-массив в Java, чтобы сохранить изменения?

Как правильно скопировать 2D-массив в Java, чтобы сохранить изменения?

Опубликовано 8 ноября 2024 г.
Просматривать:679

How to Properly Copy a 2D Array in Java to Preserve Modifications?

Сохранение изменений 2D-массива с дублированием

В Java при создании копий объектов очень важно понимать поведение присваивания ссылок. В данном сценарии определены два 2D-массива с именами current и old, а также методы для копирования содержимого.

Метод old() присваивает текущему массиву значение old. Однако это просто передает ссылку на тот же массив в памяти. Когда в текущий массив вносятся обновления, old также отражает эти изменения, поскольку оба они указывают на один и тот же базовый массив.

Метод Keepold() пытается присвоить старый массив текущему. Опять же, это только обновляет ссылку, не затрагивая исходный текущий массив. В результате при обновлении текущего содержимого старое содержимое остается неизменным.

Чтобы создать настоящую копию 2D-массива в Java, необходимо вручную скопировать каждый элемент. Альтернативно, для более эффективного копирования вы можете использовать метод Arrays.stream().map()...toArray(), который использует API потоков для создания клона каждой строки и сборки их в новый массив.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3