JAVA误区:int[ ] b=a;
【误区反思】JAVA中数组与数组的赋值是将数组指向同一个地址,如例子中数组a的改变同时影响着b的改变。
public static int[] Reverse(int[] a) {
int[] b=a;
//a和b的引用相同 指的同一个位置,一个变另一个就会变!!
for(int i=0,j=a.length-1;i<=a.length-1;i++,j--) {
System.out.print("b: ");
for(int k:b) System.out.print(k+" ");
System.out.println();
System.out.print("a: ");
for(int k:a) System.out.print(k+" ");
System.out.println();
a[i]=b[j];
}
return a;
}
//初始赋值数组a={1,2,3,4,5,6}
当前代码段运行结果:
b: 1 2 3 4 5 6
a: 1 2 3 4 5 6
b: 6 2 3 4 5 6
a: 6 2 3 4 5 6
b: 6 5 3 4 5 6
a: 6 5 3 4 5 6
b: 6 5 4 4 5 6
a: 6 5 4 4 5 6
b: 6 5 4 4 5 6
a: 6 5 4 4 5 6
b: 6 5 4 4 5 6
a: 6 5 4 4 5 6
标签:JAVA,int,System,误区,数组,print,out
来源: https://blog.csdn.net/MIUI_White/article/details/112426102