数组是引用型变量,如果两个相同类型的数组具有相同的引用,它们就有完全相同的元素。
引用就是内存单元的的首地址,存放在数组变量中。

public class Example{
    public static void main(String args[]){
        int a[]={1,2,3,4};
        int b[]={100,200,300};
        System.out.println("数组a的元素个数="+a.length);
        System.out.println("数组b的元素个数="+b.length);
        System.out.println("数组a的引用="+a);
        System.out.println("数组b的引用="+b);
        System.out.println("a==b的结果是"+(a==b));
        a=b;
        System.out.println("数组a的元素个数="+a.length);
        System.out.println("数组b的元素个数="+b.length);
        System.out.println("数组a的引用="+a);
        System.out.println("数组b的引用="+b);
        System.out.println("a==b的结果是"+(a==b));
        System.out.println("a[o]="+a[0]+",a[1]="+a[1]+",a[2]="+a[2]);
        System.out.println("b[o]="+b[0]+",b[1]="+b[1]+",b[2]="+b[2]);
    }
}

 

结果如图所示:

java数组a的引用是设么 java 数组的引用_System

需要注意的是,对于char型数组a,System.out.println(a)不会输出数组a的引用,而是输出数组a 的所有元素的值。例如:

char a[]={'A','你','好','呀'};

"System.out.println(a);"的输出结果是:A你好呀

如果想输出char型数组的引用,就必须让数组a和字符串做并置运算。

System.out.println(""+c);

其输出的结果为:

[C@7852e922