可能重复:
复制数组 Java
我是 Java 的初学者,我需要将一个数组的内容复制到另一个变量中。但是,Java 总是按引用而不是按值传递数组。
如果这令人困惑,这就是我的意思:
int test[]={1,2,3,4};
int test2[];
test2=test;
test2[2]=8;
for(int i=0;i<test2.length;i++)
System.out.print(test[i]); // Prints 1284 instead of 1234
在这个例子中,我不想test
改变 的值。如果不使用 ArrayList 和 Vectors 等 Java 的任何更高级功能,这是否可能?
编辑:我尝试了 System.ArrayCopy 和 test.clone(),但它们似乎仍然不起作用。这是我的实际代码:
temp_image=image.clone();
for(int a=0;a<image.length;a++)
for(int b=0;b<image[0].length;b++)
image[a][b]=temp_image[image.length-1-a][b];
基本上我试图将“图像”颠倒过来。代码中的某处有错误吗?