System.arraycopy()和 Arrays.copyOf()的用法区别,举例说明
时间: 2023-11-18 13:07:04 浏览: 31
`System.arraycopy()` 和 `Arrays.copyOf()` 都可以用来复制数组,但是它们的用法有所不同。
`System.arraycopy()` 的语法如下:
```java
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
```
其中:
- `src`:源数组;
- `srcPos`:源数组的起始位置;
- `dest`:目标数组;
- `destPos`:目标数组的起始位置;
- `length`:要复制的元素个数。
`Arrays.copyOf()` 的语法如下:
```java
Arrays.copyOf(T[] original, int newLength)
```
其中:
- `original`:源数组;
- `newLength`:新数组的长度。
`System.arraycopy()` 可以将一个数组的一部分复制到另一个数组中,也可以将一个数组的全部内容复制到另一个数组中。例如:
```java
int[] src = {1, 2, 3, 4, 5};
int[] dest = new int[5];
// 将 src 数组的全部内容复制到 dest 数组中
System.arraycopy(src, 0, dest, 0, src.length);
// 将 src 数组的一部分复制到 dest 数组中
System.arraycopy(src, 2, dest, 0, 3);
```
`Arrays.copyOf()` 用于将一个数组的全部内容复制到一个新数组中。例如:
```java
int[] src = {1, 2, 3, 4, 5};
// 将 src 数组的全部内容复制到 dest 数组中
int[] dest = Arrays.copyOf(src, src.length);
```