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中文网其他相关文章!