数组是引用型变量,如果两个相同类型的数组具有相同的引用,它们就有完全相同的元素。
引用就是内存单元的的首地址,存放在数组变量中。
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]);
}
}
结果如图所示:
需要注意的是,对于char型数组a,System.out.println(a)不会输出数组a的引用,而是输出数组a 的所有元素的值。例如:
char a[]={'A','你','好','呀'};
"System.out.println(a);"的输出结果是:A你好呀
如果想输出char型数组的引用,就必须让数组a和字符串做并置运算。
System.out.println(""+c);
其输出的结果为:
[C@7852e922