当前位置: 代码迷 >> J2SE >> null 跟 “” 有什么区别
  详细解决方案

null 跟 “” 有什么区别

热度:5549   发布时间:2013-02-25 00:00:00.0
null 和 “” 有什么区别
null 和 “” 有什么区别

------解决方案--------------------------------------------------------
对String来说,null说明这个 字符串变量只是声明还没有分配内存赋值,而对""来说,字符串变量已经声明并赋值为"",也就是空字符串

具体来说String s1; String s2="";
对于s1==null返回true,而s2==null返回false
对于s1.isEmpty()或s1.equals("")会抛出空指针异常,因为s1为null,s2.isEmpty()或s2.equals("")会返回true

------解决方案--------------------------------------------------------
Object obj = null; //OK
Object obj = "";//ERROR
------解决方案--------------------------------------------------------
给你举个例子吧,就像你去买饮料喝,null就是你付钱了,但是什么都没给你;“”是你付钱了,但是给你个空瓶子。
------解决方案--------------------------------------------------------
探讨

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

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