我也来发个月经贴

小绵羊 2011-10-20 04:42:06
String a = new String("abc");

String b = "abc";

System.out.println(a == b);

为什么他们不相等啊?

求教了。
...全文
542 78 打赏 收藏 转发到动态 举报
写回复
用AI写文章
78 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoshu163000 2011-10-31
  • 打赏
  • 举报
回复
是编译器错了~~~BUG~
五哥 2011-10-21
  • 打赏
  • 举报
回复
String a = new String("abc"); -指向堆

String b = "abc"; --常量池
火光闪耀 2011-10-21
  • 打赏
  • 举报
回复
在java中比较字符串使用equals,比较字符串内存地址使用==
qq6118235 2011-10-21
  • 打赏
  • 举报
回复
asdzxcewtdfdfasdwqyy声音软件
qq6118235 2011-10-21
  • 打赏
  • 举报
回复
easdasdjkhjkzhxciuyquweeeyy声音软件
小绵羊 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用 72 楼 zhu6100441 的回复:]
已经结帖了!
[/Quote]
King.SQ 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 x19881216 的回复:]
String a = new String("abc");

String b = "abc";

System.out.println(a == b);

为什么他们不相等啊?

求教了。
[/Quote]


a==b 这条是比较的内存地址,而不是a和b 两个字符串的内容。所以不等。可以用a.equal(b);
zhu6100441 2011-10-21
  • 打赏
  • 举报
回复

已经结帖了!
zhu6100441 2011-10-21
  • 打赏
  • 举报
回复
哇哈哈,小绵阳,上次我的帖子你没接到分,这次我可接你的分来咯。

String a = new String("abc");

String b = "abc";

System.out.println(a == b);


这里你实际上弄出来的是3个对象,a,b,以及"abc",a指向"abc",b指向由一个Byte数组。他们的地址怎么会一样呢。只是我的理解哈,对不对你都得给分~~
happyperson 2011-10-21
  • 打赏
  • 举报
回复
==比较的是内存地址,所以当然不相等了
炫-舞-星-辰 2011-10-21
  • 打赏
  • 举报
回复
java中 字符串的比较 用 a.equals(b);
西瓜可乐520 2011-10-21
  • 打赏
  • 举报
回复
好吧,大家鄙视我吧。话说一开始我也不懂。
其实我也是来接分的。
JieTouLangRen 2011-10-21
  • 打赏
  • 举报
回复
弱弱地问一句:神马是月经贴啊?


mark
xiongyu2006 2011-10-20
  • 打赏
  • 举报
回复

接分,楼主这帖水了。
wby13579 2011-10-20
  • 打赏
  • 举报
回复
LZ蛋疼的话找人帮你揉揉
passiontank 2011-10-20
  • 打赏
  • 举报
回复
见者有分啊@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2
原来缘来 2011-10-20
  • 打赏
  • 举报
回复
最近分有点紧
  • 打赏
  • 举报
回复
你想被关小黑屋么?
hugo000002020 2011-10-20
  • 打赏
  • 举报
回复
哈 接分咯
a157438470 2011-10-20
  • 打赏
  • 举报
回复
拿分走人
加载更多回复(56)

62,615

社区成员

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

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