J a v a Java Java 中,数组是对象,当你将一个数组传递给方法时,你其实是传递了数组的引用(地址),而不是数组的副本。因此,在 m m m 方法中修改了数组 n n n 的内容后,这种改变在方法调用之后仍然会保持有效。
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] a = {0,1,2,3,4};
int[] b = new int[5];
for(int i=0;i<5;i++)
b[i]=0;
m(a,b);
for(int i=0;i<5;i++)
System.out.print(a[i]+" ");
}
public static void m(int[] a,int[] b)
{
for(int i=0;i<5;i++)
a[i]=b[i];
//a=b.clone(); !!这个不行
//System.arraycopy(a, 0, b, 0, a.length); //这个行
}
}
遍历赋值会影响原始数组,但是 c l o n e ( ) clone() clone() 方法不行