@Test void contextLoads() { int[] array1,array2; array1 = new int[]{2, 3, 4, 5, 6}; for (int i = 0; i < array1.length; i++) { } array2=array1; for (int i = 0; i <array2.length ; i++) { if (i%2==0){ array2[i]=i; } } for (int i = 0; i <array1.length ; i++) { System.out.println(array1[i]); } }
在这个例子中最后输出的结果为:
因为array2=array1这个语句就相当于把1的地址赋予给了2,现在对2的操作就相当于在对于1的操作一样。就和文件夹复制一个概念。
但是如果是写的是这个语句
array2=new int[array1.length];
那么就不会产生上诉情况,因为这是new的一个新地址