两个指向null的字符串为什么会相等?

mldxs 2008-12-06 04:24:18
如果
String a=null;
String b=null;

a==b?

运行结果true
为什么啊 ?
没分了不能提供分数了

...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
longaway 2008-12-06
  • 打赏
  • 举报
回复
是不是可以理解成,大家都不指向任何地方。
所以相等?

引用其实和就是种指针。(32位整数,指向某个地址。)
两个指针都是空的。
lxxzhy 2008-12-06
  • 打赏
  • 举报
回复
引用地址是相等的,都是null这个地方,相当于jvm提供一个专门的地方叫null,所有指向null的引用都指向这里.
Sodino 2008-12-06
  • 打赏
  • 举报
回复
但是我搞不明白,现在比较a == b,比较的是a与b所表示的内容还是比较它们的引用地址。
如果是引用地址的话,是不相等的。

也请大家指教。
Sodino 2008-12-06
  • 打赏
  • 举报
回复
你System.out.println("a = " + a + " b = " + b);
看一下,可以看到输出是:
a = null b = null
所以相等

62,614

社区成员

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

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