Почему array.sorts сортирует родительский массив? - PullRequest
0 голосов
/ 24 мая 2018

почему массив "matrix[0]" тоже отсортирован, требуется Systemcopy?

int[] check = matrix[0];

Arrays.sort(check);

Теперь я использую Systemcopy, чтобы это исправить, но почему?

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Когда вы делаете int[] check = matrix[0], check теперь ссылается на matrix[0].Чтобы сделать из них два разных массива, нужно сделать глубокую копию.

0 голосов
/ 25 мая 2018

Эта строка: int[] check = matrix[0] назначает ссылку из matrix[0] на check.Это означает, что любая операция, которую вы выполняете на check, будет отражена и на matrix.Хотя ссылки не совпадают, места в памяти остаются, если вы не создаете копию (как вы упомянули).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...