在 Java 中复制一个字符串

字符串是 Java 编程语言中最常用的数据类型之一。在实际开发中,经常需要复制一个字符串,在 Java 中实现字符串复制有许多种方式。在本文中,我们将介绍两种常用的字符串复制方式,并分享相关的注意事项。

方法一:使用 String 类提供的 clone() 方法复制字符串

String 类提供了名为 clone() 的方法,可以将字符串进行复制。在该方法中,被复制的对象称为源字符串(source),复制得到的对象称为副本(clone)。下面是该方法的基本语法:

String cloneString = sourceString.clone();

示例 1:

String url = "https://www.example.com";
String cloneUrl = url.clone();
System.out.println(cloneUrl);

运行结果:

https://www.example.com

注意:使用 clone() 复制一个字符串时,需要将源字符串声明为对象,即使用 new 关键字创建一个对象。如下所示:

String sourceString = new String("Hello, world!");

方法二:使用 String 类提供的 copyValueOf() 方法复制字符串

String 类还提供了一个名为 copyValueOf() 的方法,可以将 char 数组复制到字符串中。下面是该方法的基本语法:

String copyString = String.copyValueOf(charArray);

其中,charArray 是你想要进行复制的源字符串的 char 数组。

示例 2:

char[] charArray = new char[]{'H', 'e', 'l', 'l', 'o'};
String copyString = String.copyValueOf(charArray);
System.out.println(copyString);

运行结果:

Hello

注意:使用 copyValueOf() 方法复制一个字符串时,需要事先将源字符串转换为 char 数组,如下所示:

String sourceString = "Hello, world!";
char[] charArray = sourceString.toCharArray();

注意事项:

  1. clone() 方法只适用于对象类型,如果输入的字符串是基本数据类型,则会报错;
  2. String 类是不可变对象,复制得到的字符串也是不可变的,不支持修改操作;
  3. 使用 clone() 方法时,如果源字符串包含 null,仍会NullAexception异常;
  4. 使用 copyValueOf() 方法时,如果源字符串为空,其会返回一个长度为零的新字符串;
  5. 在对新的副本进行操作时,不会影响到源字符串。