开发者社区 问答 正文

java 中 String 类连接问题

    String str1 = "aa" ; 
    String str2 = "bb" ; 
    String str3 = "aa" + "bb" ;
    String str4 = str1 + str2 ;
    boolean b =(str3 == str4);
    System.out.println(b);

这里b为什么是false , 有那个大侠能否帮忙回答下?

展开
收起
蛮大人123 2016-03-18 11:07:43 2010 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    编译的时候,aa,bb,会存在常量池里面,同时常量的运算结果也会放在常量池里面,如aa+bb就会在常量池里面存一个aabb,而str1+str2的运算不会变成常量池里引用。如图所示,也可以自己使用javap -verbose 命令查看
    screenshot
    screenshot

    2019-07-17 19:06:12
    赞同 展开评论
问答分类:
问答地址: