null 和 “” 有什么区别

lihuan1103 2012-08-09 04:31:51
null 和 “” 有什么区别
...全文
221 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdpz 2012-08-09
  • 打赏
  • 举报
回复
null是值或者对象根本就不存在,
Object obj = "";表示这个对象的值为""
iamzep 2012-08-09
  • 打赏
  • 举报
回复
一副麻将 “”是白板, null是这个麻将牌没刻
xiejin90314 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

给你举个例子吧,就像你去买饮料喝,null就是你付钱了,但是什么都没给你;“”是你付钱了,但是给你个空瓶子。
[/Quote]经典哈。。
huimiezu 2012-08-09
  • 打赏
  • 举报
回复
"" 在常量池中吧 null表示没有分配内存,没有地址
wushangjimo 2012-08-09
  • 打赏
  • 举报
回复
null是没有负值,而“”表示负的空值。
tangyong1019 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

Object obj = null; //OK
Object obj = "";//ERROR
[/Quote]
不知道2楼想表达什么
tangyong1019 2012-08-09
  • 打赏
  • 举报
回复
补充一下,当返回null的时候,可能会报空指针,因为null没有内容,就是没有取到,但是返回“”就不会,因为他是空字符串,是有内容的,可以取到,只是内容为空白
huimiezu 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ticmy 的回复:]

Object obj = null; //OK
Object obj = "";//ERROR
[/Quote]Object obj = "";//不是ERROR
tangyong1019 2012-08-09
  • 打赏
  • 举报
回复
给你举个例子吧,就像你去买饮料喝,null就是你付钱了,但是什么都没给你;“”是你付钱了,但是给你个空瓶子。
龙四 2012-08-09
  • 打赏
  • 举报
回复
Object obj = null; //OK
Object obj = "";//ERROR
风尘中国 2012-08-09
  • 打赏
  • 举报
回复
对String来说,null说明这个 字符串变量只是声明还没有分配内存赋值,而对""来说,字符串变量已经声明并赋值为"",也就是空字符串

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

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧