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(); !!这个不行}
}
遍历赋值会影响原始数组,但是 c l o n e ( ) clone() clone() 方法不行