请问以下这个代码片段运行时为啥为false呀?这两个toString为啥不一样啊,求解,谢谢!

「已注销」 2019-05-21 12:11:14
String str1 = "abc"; char[ ] charArray = {'a', 'b', 'c'}; String str2 = new String(charArray); System.out.println(str1.toString == str2.toString);
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43519729 2019-05-21
  • 打赏
  • 举报
回复
引用 1 楼 weixin_43519729 的回复:
String str1 = "abc"; char[ ] charArray = {'a', 'b', 'c'}; String str2 = new String(charArray); System.out.println(str1.toString().equals(str2.toString())); System.out.println(str1.equals(str2));
https://www.cnblogs.com/dolphin0520/p/3592500.html
weixin_43519729 2019-05-21
  • 打赏
  • 举报
回复
String str1 = "abc"; char[ ] charArray = {'a', 'b', 'c'}; String str2 = new String(charArray); System.out.println(str1.toString().equals(str2.toString())); System.out.println(str1.equals(str2));
崩玉~雅 2019-05-21
  • 打赏
  • 举报
回复
因为 == 比较的是两个对象 的内存地址,str1 和 str2 这是两个不同的对象(内存地址不同),所以 str1==str2 为false(调toString()也没用)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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