null 和 “” 有什么区别

解决方案 »

  1.   

    对String来说,null说明这个 字符串变量只是声明还没有分配内存赋值,而对""来说,字符串变量已经声明并赋值为"",也就是空字符串具体来说String s1; String s2="";
    对于s1==null返回true,而s2==null返回false
    对于s1.isEmpty()或s1.equals("")会抛出空指针异常,因为s1为null,s2.isEmpty()或s2.equals("")会返回true
      

  2.   

    Object obj = null; //OK
    Object obj = "";//ERROR
      

  3.   

    给你举个例子吧,就像你去买饮料喝,null就是你付钱了,但是什么都没给你;“”是你付钱了,但是给你个空瓶子。
      

  4.   

    Object obj = "";//不是ERROR
      

  5.   

    补充一下,当返回null的时候,可能会报空指针,因为null没有内容,就是没有取到,但是返回“”就不会,因为他是空字符串,是有内容的,可以取到,只是内容为空白
      

  6.   

    null是没有负值,而“”表示负的空值。
      

  7.   

    ""  在常量池中吧  null表示没有分配内存,没有地址
      

  8.   

    一副麻将 “”是白板,  null是这个麻将牌没刻
      

  9.   

    null是值或者对象根本就不存在,
    Object obj = "";表示这个对象的值为""