В Java вы не можете копировать массив напрямую с помощью оператора присваивания (=), поскольку он копирует только ссылку на массив, а не сами элементы. Если вы измените один массив, это также повлияет на другой. Чтобы создать копию массива, вы можете использовать несколько методов. Вот некоторые часто используемые подходы:
-
Использование цикла For:
int[] sourceArray = {1, 2, 3, 4, 5}; int[] destinationArray = new int[sourceArray.length]; for (int i = 0; i < sourceArray.length; i++) { destinationArray[i] = sourceArray[i]; } -
Использование метода
System.arraycopy():int[] sourceArray = {1, 2, 3, 4, 5}; int[] destinationArray = new int[sourceArray.length]; System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length); -
Использование метода
Arrays.copyOf():int[] sourceArray = {1, 2, 3, 4, 5}; int[] destinationArray = Arrays.copyOf(sourceArray, sourceArray.length); -
Использование метода
Arrays.copyOfRange():int[] sourceArray = {1, 2, 3, 4, 5}; int[] destinationArray = Arrays.copyOfRange(sourceArray, 0, sourceArray.length); -
Использование метода
clone()(работает только для ссылочных типов):int[] sourceArray = {1, 2, 3, 4, 5}; int[] destinationArray = sourceArray.clone();
Эти методы создают новый массив и копируют элементы из исходного массива в целевой массив, гарантируя, что изменения, внесенные в один массив, не повлияют на другой.