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); 
        } 
 
 
希望对楼主有所帮助 
 |