举一个简单的例子吧String arr[] = new String[10];
arr = null;请问将arr赋值null后,是什么意思了。

解决方案 »

  1.   

    应该是arr不指向任何字符串数组。
      

  2.   

    一开始 arr是你新建的那个数组对象的引用
    当赋值为null后 就是一个空引用
    就像指针中的空指针
      

  3.   

    String arr[] = new String[10];
    arr = null;将arr这个引用置空,不指向任何对象。
    上面new的那个数组对象,则没有任何引用指向它,垃圾回收器可以回收此对象。
      

  4.   

    arr = null没有任何意义.多此一举
      

  5.   

    arr = null后,垃圾回收器回收时,会回收arr刚才所引用的对象的内存(当然此对象没有也没有被其它变量引用的情况下)。 
      

  6.   

    将arr置空,以后就不能用arr[i]引用字符串了
      

  7.   

    String arr[] = new String[10];
    ....看到这种写法我就觉得又一本误导人的书。String[]  arr  =  new String[10];这种写法多好
      

  8.   

    那个回答说明他根本不懂JAVAC是如何工作的
      

  9.   


    即使你不赋为null,虚拟机也知道arr什么时候改被回收。如果这个赋值不是程序上的需要的话,确实多此一举
      

  10.   

    new 出的String数组 不要了   
    这个数组失去引用   java的垃圾回收器就自动识别到 
    把它占用的内存 free 掉在 C 中肯定要自己显示的free某个不用的数据块  不然这样的数据块多了 
    内存就要爆了java简单  设置为null 后  会自动回收   省去了程序员的负担 理想情况如此  似乎java虚拟机自身的内存泄漏也很严重
      

  11.   

    在准备scjp考试,你知道里面的题目侧重对基础知识的理解,所以是没必要,但是考题还是有其目的性的,谢谢
      

  12.   

    再赋值 null 原先分配在堆里的对象引用不到了
      

  13.   

    比如 你声明一个你有一个变量 String s ; 
    那么 你现在 有N个方法都要用到 这个s 那你不能每个方法都在声明一次 所以你直接在声明成 成员变量 下面每个方法在调用这个变量 那么String 是一个对象 他的默认值就是null 不知道我这样说你能明白不啊 (咱的比较白话些 因为我也学的时间不长 我要那里说错了 各位说下啊 )
      

  14.   

    null。打个比方。就象。一本书的前面的文章的索引。有一天。你把一个页撕掉了,同时一页的书的内容你也撕掉了。就不能通过这个索引去找对应的的文章,
      

  15.   

    话说,这个和string[] str = null;一样么?