java - Java 中的 strcpy 是什么?

标签 java

Java 中的 strcpy 是什么?

String s1, s2;

s1 = new String("hello");
s2 = s1; // This only copies s1 to s2.

最佳答案

这个声明:

s2 = s1;

s1 的值复制到 s2 中。该值只是一个引用,所以现在 s1s2 指的是同一个对象。因此,如果这是一个可变类型(例如 StringBuilderArrayList),那么您就应该担心了。

但是,String 是不可变的。您不能修改对象来更改其文本数据,因此只需复制引用就足够了。更改 s2 的值以引用不同的字符串(或将其设为 null 引用)将不会更改 s1 的值:

String s1 = "hello";
String s2 = s1;
s1 = "Something else";
System.out.println(s2); // Prints hello

如果您真的想要创建一个新的String 对象,您可以使用您已经(不必要地)用于s1 的构造函数:

s2 = new String(s1);

但是,这很少是个好主意。

关于java - Java 中的 strcpy 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12177273/

相关文章:

java - Openshift:在应用程序之间共享 MySQL cartrige

java - KassandraMRHelper 的 maven 包 org.apache.thrift.scheme 不存在

java - 具有类注册的工厂方法模式会产生空指针异常

java - 使用 JZMQ 与 EPGM 传输不发送或接收数据

java - 竞争性编程和输入

java - 如何将 NEHE Lesson07 中的 DevIL 转换为 Slick 库?

java - 这些 java 类是否具有从 JSON 文件映射的正确结构?

java - 使用删除循环列表

java - JSP 构造函数不可见

java - 如何将字符串数据转换为json?