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是两个互不影响的变量。

posted on 2014-03-06 18:50  hadoop-yang  阅读(137)  评论(0编辑  收藏  举报