首页 > Java > java教程 > 什么时候应该在 Java 中使用 `new String(...)`?

什么时候应该在 Java 中使用 `new String(...)`?

DDD
发布: 2024-12-26 18:58:10
原创
534 人浏览过

When Should You Use `new String(...)` in Java?

Java 中“new String(...)”之谜

在学习 Java 代码示例时,您可能会遇到有趣的语法:使用“new”运算符将字符串常量分配给字符串对象。这种非常规的方法不同于更常见的直接分配字符串常量的方法,如下所示:

String s = new String("Hello World");
登录后复制

s = "Hello World";
登录后复制

对这种神秘的语法感兴趣,你深入研究了它的用途以及潜在的影响。

“新String(...)"

“new String(...)”构造函数使用参数字符串的副本初始化 String 对象。这通常是不必要的,因为字符串是不可变的,因此它们的内容永远不会改变。但是,在特定情况下,这可能是有益的:

  • 强制不同的副本:在以后可能会修改字符串的基础字符数组的情况下,创建一个单独的副本可以防止对原件的无意修改。

“new”的陷阱String(...)"

不幸的是,“new String(String)”的行为依赖于实现并且没有文档记录。这可能会在操作字符串时导致意外的结果和潜在的陷阱。

建议

为了确保与实现无关的行为,建议在以下情况下使用“toCharArray()”:创建字符串字符数组的副本:

String copy = new String(original.toCharArray());
登录后复制

此替代方法可确保字符串的不同副本创建字符数组,避免与“new String(...)”相关的任何意外意外。

以上是什么时候应该在 Java 中使用 `new String(...)`?的详细内容。更多信息请关注PHP中文网其他相关文章!

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