kelekele111 2022-02-28 18:55 采纳率: 0%
浏览 25
已结题

关于#java#的问题:String yesB = new String("x1") + new String("y1")

    String yesB = new String("x1") + new String("y1");
    String yesC = yesB.intern();
    String yesA = "x1y1"; // 这里换了
    System.out.println(yesA == yesB); //为什么等于true阿??

img

  • 写回答

1条回答 默认 最新

  • 大鹏cool Java领域优质创作者 2022-02-28 19:38
    关注

    编译器可能将 String yesB = new String("x1") + new String("y1"); 优化为 String yesB = "x1y1"; 导致 yesA 和 yesB 指向了字符串常量池中的同一个字符串

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月7日
  • 创建了问题 2月28日

悬赏问题

  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22
  • ¥15 R语言中lasso回归报错