A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 947415283 中级黑马   /  2014-5-28 13:07  /  1006 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s1="a";String s2=s1+"b";
System.out.println(s2=="ab");
为什么打印false





4 个回复

倒序浏览
==  比较的是地址值  s1+"a"  和  “ab”的地址值一样么?
回复 使用道具 举报
System.out.println(s2.equals("ab"));//true      s2是一个地址值
回复 使用道具 举报
本帖最后由 寻找人生目标 于 2014-5-28 15:34 编辑

  其实栈内存中也是存的常量池中字符串的引用 也就是地址
==是比较的地址值      就算你理解的是比较的内容它也不等啊  更何况比较内容的是equals  String重写了equals方法


评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1 赞一个!

查看全部评分

回复 使用道具 举报
感谢各位
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马