Почему изменяя значения одного массива в java сразу меняется и второй?

Пользователь

от hobart.rath , в категории: Java , 4 месяца назад

Почему изменяя значения одного массива в java сразу меняется и второй?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от greyson , 4 месяца назад

@hobart.rath 

Это происходит, потому что массивы в Java передаются по ссылке, а не по значению. Это означает, что когда вы присваиваете один массив другой переменной, вы на самом деле передаете ссылку на тот же самый массив. Если вы измените элемент в массиве через одну переменную, то изменения будут отражены на другой переменной, потому что она также ссылается на тот же самый массив.


Для того чтобы создать копию массива с идентичными значениями, можно использовать метод System.arraycopy() или Arrays.copyOf(). Если нужно скопировать массив со всеми свойствами (размер, элементы, тип), то лучше использовать конструктор массива.