开发者社区> 问答> 正文

简述在Java语言中,jvm运行时是否会发生字符串驻留

简述在Java语言中,jvm运行时是否会发生字符串驻留

展开
收起
huc_逆天 2021-01-08 16:38:13 612 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter
    1. 运行时也会发生字符串驻留,即使两个字符串是由构造函数方法创建的。

      String c = new String("abcd").intern();
      String d = new String("abcd").intern();
      System.out.println("c == d : "+(c == d)); // true
      System.out.println("c.equals(d) : "+(c.equals(d))); // true    (JDK1.7)
      

      因为字面值“abcd”已经是字符串类型,那么使用构造函数方式只会创建一个额外没有用处的对象。

    2021-01-08 16:38:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载