开发者社区 问答 正文

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

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

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

    2020-04-07 13:02:34 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等