String str = "" 和String str = null。有何区别呢。

解决方案 »

  1.   

    前者有一个对象,对象内容为“空”,后者没有对象,只是有一个引用,指向null
      

  2.   

    str = "";是实例化了的。
    str = null;未实例化
      

  3.   

    String str = "" 和String str = null。有何区别呢。记得几天前有人这么说的
    String str = ""   有小鸡鸡,长度为0
    String str = null  没有小鸡鸡
      

  4.   

    是挺基本的,String str = ""。你可以理解为String str = new String("");
    当然聊着存储的地方时不同的。是java编译器对他进行了对象的创建,
    而String str = null没有对他进行对象的创建,只是声明了一个对象。
    在通俗一点第一个可以调用String内的方法
    而第二个调用时会报空指针异常。
      

  5.   

    还有一个问题,顺便问了吧,string str  = new string("")这个new出来的是在堆区,那String str = "" 这个呢,是在堆区还是在栈区呢。我觉得是在栈区,不知对否。
      

  6.   


    只要有new的出现,就是实例化了.也就是堆栈都有了!