理解 Java 中“new String(...)”语法的用途
在 Java 中,“new String(.. .)" 语法在将 String 常量分配给 String 对象时经常遇到。此语法不同于直接分配字符串常量的典型方法,例如“s =”Hello World”;”。然而,使用“new String(...)”语法的目的和效果可能不会立即显现出来。
使用“new String(...)”的潜在原因
使用“new String(...)”语法的一个可能原因是创建现有 String 对象的不同副本。这在您想要防止对一个 String 对象所做的更改影响另一个 String 对象的情况下非常有用。
实现相关行为
需要注意的是,该行为“new String(String)”的值取决于实现。虽然某些实现可能会复制原始 String 对象的内部字符数组,但其他实现可能会以不创建不同副本的方式实现它。
记录的用例
“new String(String)”唯一记录的用例是创建一个新的 String 对象,该对象表示与现有 String 对象相同的字符序列。这是多余的,因为字符串在 Java 中是不可变的。
假设实现细节的陷阱
避免假设“new String( 的特定于实现的行为”是至关重要的String)”在不同的 Java 实现中将保持一致。请始终参阅文档以获取最准确和可靠的信息。
实现相关行为示例
在 Apache Harmony 实现中,“new String(String)”不会创建基础字符数组的副本。但是,这种行为在其他 Java 实现中可能会有所不同。
结论
虽然“new String(...)”语法可用于创建不同的副本String 对象的用途和效果可能因 Java 虚拟机的实现而异。参考文档并在不同环境中测试代码以确保所需的行为非常重要。
以上是何时以及为何在 Java 中使用 `new String(...)`?的详细内容。更多信息请关注PHP中文网其他相关文章!