java两个数组复制
时间: 2024-10-12 11:09:58 浏览: 16
在Java中,有多种方法可以将一个数组复制到另一个数组。这里列举几种常见的方法:
1. **for循环遍历**:
```java
int[] source = {1, 2, 3};
int[] target = new int[source.length];
for (int i = 0; i < source.length; i++) {
target[i] = source[i];
}
```
2. **System.arraycopy()**:
这个方法效率较高,因为它是一次性复制多个元素:
```java
int[] source = {1, 2, 3};
int[] target = new int[source.length];
System.arraycopy(source, 0, target, 0, source.length);
```
3. **递归复制**:
适用于较小规模的数组,但对于大数据量不推荐:
```java
public static int[] copyArray(int[] src) {
if (src == null || src.length == 0) return new int[0];
int[] dest = new int[src.length];
dest[0] = src[0];
for (int i = 1; i < src.length; i++) {
dest[i] = src[i];
}
return dest;
}
```
4. **泛型数组复制** (仅限于Java 5及以上版本):
如果目标数组类型已知,可以使用`Arrays.copyOf()`函数:
```java
Integer[] source = {1, 2, 3};
Integer[] target = Arrays.copyOf(source, source.length);
```
阅读全文