# Java - `String copyValueOf()`方法

> 原文： [https://beginnersbook.com/2013/12/java-string-copyvalueof-method-example/](https://beginnersbook.com/2013/12/java-string-copyvalueof-method-example/)

方法`copyValueOf()`用于将字符数组复制到`String`。这里需要注意的是，此方法不会将内容附加到`String`中，而是将现有的字符串值替换为数组的字符序列。
它有两个变种：

1）`static copyValueOf(char[] data)`：它将整个数组（数据）复制到字符串。

2）`static String copyValueOf(char[] data, int offset, int count)`：它使用指定的偏移量和计数值仅将指定的字符复制到字符串。`offset`是需要复制字符的初始索引，`count`是要复制的字符数。对于例如`offset` 2 和`count` 3 将被解释为：数组从第 2 个索引开始的仅仅 3 个字符（第 3 个位置因为索引从 0 开始）应该被复制到相关的`String`。

### 例

在这个例子中，我们有两个字符串`str1`和`str2`和一个名为`data`的字符数组。我们使用方法`copyValueOf()`的变体将数组复制到字符串。

```java
public class CopyValueOfExample {
   public static void main(String args[]) {
       char[] data = {'a','b','c','d','e','f','g','h','i','j','k'};
       String str1 = "Text";
       String str2 = "String";
       //Variation 1:String copyValueOf(char[] data)
       str1 = str1.copyValueOf(data);
       System.out.println("str1 after copy: " + str1);

       //Variation 2:String copyValueOf(char[] data,int offset,int count)
       str2 = str2.copyValueOf(data, 5, 3 );
       System.out.println("str2 after copy: " + str2);
   }
}
```

输出：

```java
str1 after copy: abcdefghijk
str2 after copy: fgh
```