请教String使用==的问题

emugens 2020-04-09 06:33:16
String s1="ab";
String s2=new String "ab";
=========================
String s1="ab";
String s2="ab";

对于两种方式进行打印System.out.print(s1==s2),上面第一种是false,为何下面是true?

false是能理解的,因为地址肯定不同,但是下面这个为什么地址会相同?莫非有内存优化检查,确认内容一样后s2直接指向s1???
...全文
558 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
伱給的囘憶 2020-04-09
  • 打赏
  • 举报
回复
http://wenku.baidu.com/view/ad5ce37f5acfa1c7aa00cc16.html 参考下
emugens 2020-04-09
  • 打赏
  • 举报
回复
看明白了,非常感谢!

50,547

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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