java数组
java数组其实是一个类,因此两个变量可以指向同一个数组空间。
如下代码:
1 public class strtest 2 { 3 public static String getInfo(String str) 4 { 5 return str; 6 } 7 public static void main(String args[]) 8 { 10 int[] a={1,1,1}; 11 int[]b=a; 12 for(int i=0;i<3;i++) 13 b[i]*=2; 14 for(int j=0;j<3;j++) 15 { 16 System.out.println(a[j]); 17 18 } 19 } 20 }
输出结果为:
2
2
2
说明a和b指向同一数组空间。
同样的,当数组作为函数形参时,也指向同一数组空间,因此在函数内使用该数组会影响到函数外数组。
PS:如下字符串操作不同于数组
String a="sdfs"; String b=a; b=b+"sdfwe"; System.out.println(a); System.out.println(b);
输出结果为:
sdfs
sdfssdfwe
可见,a和b是两个互不影响的变量。