同志们,有个问题想请教~
要想定义一个空字符串可以这样啊?
String aa="";
为什么要用String aa=null啊?什么时候用到String的null值啊?
就是这样的String aa=null等待回复~

解决方案 »

  1.   

    空值也是值 但是如果是null的话 那么就把内存空间也给高没了
      

  2.   

    String aa=""; 
    aa为指向空字符的引用 
    String aa=null 
    aa为指向空的引用
      

  3.   

    只想声明,不想实例化的时候用null
      

  4.   

    String strForTest=new String("abc");
    strForTest=null;
    ----->导致的结果:
    那么new String("abc")随时都可能被GC回收。
      

  5.   

    你要知道 "" 不等于null
    内存地址也不同
      

  6.   

       如果方法返回NULL ,方便判断。
      

  7.   

       如果方法返回NULL ,方便判断。
      

  8.   

    如果是用 a="",则会为你分配一块内存,a就是指向这个内存的,如果 是用a = null,则不会分配内存给你。
      

  9.   

    若String ss="";
    ss.length()=0若String ss=null;
    ss.length() NullPointerException.
      

  10.   

    String str=null; 只是声明,不会分配内存地址;
    Steing str=“”;分配了内存地址,占用了资源
      

  11.   

    String aa=""; 
    aa为指向 空字符的引用 
    String aa=null 
    aa为指向 空的引用
      

  12.   

    是否分配内存的区别
    null没有分配
    ""已经分配了
      

  13.   

    如果你用String aa=null的话GC(垃圾回收器)会在某一特定的时间对它进行回收,以释放资源!!!
    而String aa=""意思是句柄aa引用了一个空字符串,GC不会回收
      

  14.   

    空串是有地址空间的,null没有,一般在初始化的时候用.最好是赋予空串,避免空指针
      

  15.   

    呵呵。楼上的。一般都是声明为null吧。空指针的话是其他地方来判断避免的吧
      

  16.   

    null != ""
    你看一看下面的代码
    class TestNull{
    public static void main(String[] args){
    String[] str = new String[3];
    str[0] = "aaaa";
    str[1] = "";
      System.out.println("str[0]="+str[0]);
      System.out.println("str[1]="+str[1]);
      System.out.println("str[2]="+str[2]);
    }
    }
      

  17.   


    你想要把String对象内存回收掉的话,就可以用null了