java中的数组定义方式:int[] x=new int[100]
在内存中java分为栈内存和堆内存,如果光写int[] x;
这句只是在栈内存中定义了一个装数组地址用的变量,而真正的数组地址是在堆内存中的.
new int[100]这句才是在堆内存中定义了数组,
x=new int[100] 是把堆内存中的数组的首地址给栈内存中的变量x,
x也就是指向数组的首地址了,当执行x=null时,x就不指向任何数组的首地址,
堆中也就多了一个没法再用到的数组,垃圾回收器会在一个不确定的时间将该数组销毁.
鉴于楼主希望打印的值不是内存我这有个例子楼主可以看看
例子:
String[] str={"1","2","3","4","5","6","7","8","9","99","999","999","9999"};
for(int i=0;i<str.length;i++)
{
System.out.println(str[i]);
}
for(String s:str)
{
System.out.println(s);
}
希望对楼主有所帮助
|