Java 创建重复阵列

Java 创建重复阵列,java,arrays,Java,Arrays,如果我在java中创建一个类似这样的重复数组,是否正确 int [] array = { 10, 20 , 5 , 67 , 4} ; int [] d_array = array ; 这并不是在创建重复的数组。这将创建对现有数组的新引用。修改一个将修改“两者” 您需要研究创建某个数组的新复制实例的方法。请参阅Kon的答案。试试这个: int [] array = new int[]{ 10, 20 , 5 , 67 , 4} ; int [] d_array =

如果我在java中创建一个类似这样的重复数组,是否正确

int [] array = { 10, 20 , 5 , 67 , 4} ;

int  [] d_array =  array ;

这并不是在创建重复的数组。这将创建对现有数组的新引用。修改一个将修改“两者”


您需要研究创建某个数组的新复制实例的方法。

请参阅Kon的答案。试试这个:

int [] array = new int[]{ 10, 20 , 5 , 67 , 4} ;

        int  [] d_array =  array.clone();

在这种情况下,如果更改第一个数组中的任何项目,则第二个数组中的项目将更改,例如,如果您写入:

array[0] = 5;
然后d_数组[0]也将变为5

要在不具有相同引用的情况下复制阵列,请替换:

int [] d_array = array ;


这不是重复的数组;这是指向同一数组的两个变量。我建议使用
System.arrayCopy()
而不是
clone()
。克隆有很多缺点。请参阅Joshua Bloch的《高效Java》,了解一些避免克隆的原因。这些原因都不适用于数组,但也有
arrays.copyOf
,它比
arraycopy
更易于使用。好吧,因为在这个问题上,使用什么并不重要:是的,你们都是对的。另外注意:这对基本对象引用和不可变对象引用的数组很有用,因为
System.arrayCopy
提供了数组的浅拷贝。
int [] d_array = array.clone();