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就是你付钱了,但是什么都没给你;“”是你付钱了,但是给你个空瓶子。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
补充一下,当返回null的时候,可能会报空指针,因为null没有内容,就是没有取到,但是返回“”就不会,因为他是空字符串,是有内容的,可以取到,只是内容为空白