开发者社区> 问答> 正文

Java中"hello"直接量和new String("hello")有什么区别呢?

Java中"hello"直接量和new String("hello")有什么区别呢?

展开
收起
小天使爱美 2020-04-07 13:02:06 987 0
1 条回答
写回答
取消 提交回答
  • 当Java程序直接使用形如"hello"的字符串直接量(包括可以在编译时就计算出来的字符串值)时,JVM将会使用常量池来管理这些字符串;当使用new String("hello")时,JVM会先使用常量池来管理"hello"直接量,再调用String类的构造器来创建一个新的String对象,新创建的String对象被保存在堆内存中。换句话说,new String("hello")一共产生了两个对象。

    2020-04-07 13:02:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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