开发者社区> 问答> 正文

java里面String str = "" 和 new String()的区别在哪里?

已解决

java里面String str = "" 和 new String()的区别在哪里?

展开
收起
游客3gzok77e677xw 2022-04-02 23:04:31 654 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    1)性能效率

    频繁的对String对象进行修改,会造成很大的内存开销。此时应该用StringBuffer或StringBuilder来代替String。

    而new String()更加不适合,因为每一次创建对象都会调用构造器在堆中产生新的对象,性能低下且内存更加浪费。

    2)安全性

    对象都是只读的,所以多线程并发访问也不会有任何问题。

    由于不可变,用来存储数据也是极为安全的。

    2022-04-02 23:15:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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