Arrays.copyOf的用法
时间: 2024-05-05 10:22:37 浏览: 22
`Arrays.copyOf` 是 Java 中用于复制数组的方法。它的基本语法如下:
```java
public static <T> T[] copyOf(T[] original, int newLength)
public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType)
```
其中,`original` 是要被复制的原始数组,`newLength` 是新数组的长度,`newType` 是新数组的类型。第一个方法会返回一个新的数组,其长度为 `newLength`,类型和 `original` 相同。第二个方法也会返回一个新的数组,但是它会被强制转换为 `newType` 类型。
示例:
```java
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, 3); // 复制前三个元素
System.out.println(Arrays.toString(arr2)); // 输出 [1, 2, 3]
String[] strArr1 = {"a", "b", "c"};
Object[] strArr2 = Arrays.copyOf(strArr1, 5, Object[].class); // 复制到长度为 5,并转换为 Object 类型的数组
System.out.println(Arrays.toString(strArr2)); // 输出 [a, b, c, null, null]
```
注意,`Arrays.copyOf` 方法只是复制数组的内容,不会复制数组的引用。也就是说,如果原始数组中的元素是对象引用,那么新数组中的相应元素会引用同一个对象。如果需要深度复制数组中的对象,可以使用其他方法,比如序列化和反序列化等技术。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)