首页 > 解决方案 > 我想让两个数组具有相同的值

问题描述

我想在下面的 Java 中设置array2array1但它不起作用。

int[] array1 = new int[3]{1,2,3};
int[] array2 = new int[3];
array2 = array1;

那有什么问题?

标签: javaarrayscopy

解决方案


当您将引用分配array1array2您时,您会创建数组的浅表副本;这两个引用指向同一个数组。我假设你想要一个拷贝,你可以用它Arrays.copyOf(int[], int)来获得一个。此外,您不需要new[]明确的大小。这可能看起来像

int[] array1 = { 1, 2, 3 };
int[] array2 = Arrays.copyOf(array1, array1.length);

推荐阅读