首页 > Java > java教程 > 为什么我们应该避免在 Java 中使用 new 创建字符串?

为什么我们应该避免在 Java 中使用 new 创建字符串?

Mary-Kate Olsen
发布: 2024-11-19 09:24:03
原创
739 人浏览过

Why Should We Avoid Using `new` to Create Strings in Java?

为什么我们在 Java 中不使用 new 来创建字符串?

虽然字符串在 Java 中确实是对象,但它们的创建方式与其他对象归因于一种名为字符串驻留的特殊机制。

在Java中,字符串文字(用双引号括起来)会自动驻留。这意味着对同一字符串文字的多个引用指向内存中的同一 String 对象。因此,使用 new 来创建 String 对象是多余且不必要的。

例如:

String str1 = "Hello World";
String str2 = "Hello World";
登录后复制

这里,str1 和 str2 引用同一个 String 对象,即使它们看起来是单独创建。这是因为 JVM 识别字符串文字“Hello World”并检索内部的 String 对象。

现在,让我们了解为什么不建议使用 new 来创建字符串:

  • 效率: 实习字符串文字可提高内存消耗和性能。使用 new 时,每次都会创建一个新的 String 对象,从而导致不必要的对象创建和开销。
  • Singletons: Interning 确保只有一个具有特定值的 String 对象实例存在,使其实际上成为单例。这会导致行为一致并防止意外的对象重复。
  • 对象平等: 实习可确保具有相同值的字符串文字始终彼此相等。这与 Java 中字符串相等的语义一致。

总之,Java 中的字符串驻留消除了使用 new 来创建字符串的需要,提供了效率优势,并确保在使用字符串文字时行为一致.

以上是为什么我们应该避免在 Java 中使用 new 创建字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板