public static void main(String[] args)
{
String s1 = "";
String s2 = null;
System.out.println(s1==s2);//false
}为什么?""与Null有甚区别?

解决方案 »

  1.   

    null只是声明,""是初始化为空
      

  2.   

    null是说明没有值(或者说没有给这个对象分配存储空间呢)。而""说明是有值的(也就说它已经被分配了地址空间的。只不过我们说的给其初始化了一个空的字符串),只不过这个值是""。用跟造房子举例(不一定非常恰当哦),null就像我们准备好了材料计划造一所房子,但还没有造,而""是房子已经造完成了,只是里边没有住人。
      

  3.   

    null  什么都没有,连空间都没有,就是宇宙大爆炸前的样子,什么都没有。
    ""    就是有空间,但空间里什么都没有,比如真空,空抽屉,空钱包。null就是连空着的抽屉、钱包都没有。
      

  4.   

    ""说明该字符串对象已经有值并且是空的.
    null说明该字符串对象值存在为空或者不知道其结果...
      

  5.   

    如果为null,说明对象在内存中并未分配存储空间,
    但为""的话,说明已经分配了存储空间,但值为空而已。
      

  6.   

    JAVA中的每个已初始化的引用都指向一个地址,null也是一个地址,但没有与这个地址相对应的内存空间,是一个空头地址。而""是一个真正的String对象,支持定义在String类中的所有操作,把一个变量赋值为"",意味着这个变量指向了一个真正的String对象,而不是指向一个空头地址。
      

  7.   

    ""和空格不一样!
     The Null keyword is used as a Variant subtype. It indicates that a variable contains no valid data
      

  8.   

    String s1 = ""; 引用s1已经被引用到一个具体的内存地址:""存储的地址
    String s2 = null; 引用s2没有