当前位置:首页 > Java

java如何复制数组

2026-03-03 23:25:34Java

使用 System.arraycopy() 方法

System.arraycopy() 是 Java 中高效的原生数组复制方法,适用于任意类型的数组。语法如下:

System.arraycopy(srcArray, srcPos, destArray, destPos, length);
  • srcArray:源数组
  • srcPos:源数组起始位置
  • destArray:目标数组
  • destPos:目标数组起始位置
  • length:要复制的元素数量

示例代码:

int[] src = {1, 2, 3, 4, 5};
int[] dest = new int[5];
System.arraycopy(src, 0, dest, 0, src.length);

使用 Arrays.copyOf() 方法

Arrays.copyOf() 适用于快速复制整个数组或截取部分元素,自动创建目标数组。语法:

java如何复制数组

destArray = Arrays.copyOf(srcArray, newLength);
  • newLength:目标数组长度(可扩展或截断)

示例代码:

import java.util.Arrays;
int[] src = {1, 2, 3};
int[] dest = Arrays.copyOf(src, src.length); // 完整复制
int[] partialDest = Arrays.copyOf(src, 2);   // 复制前两个元素

使用 Arrays.copyOfRange() 方法

若需复制数组的特定区间,可使用 Arrays.copyOfRange()

java如何复制数组

destArray = Arrays.copyOfRange(srcArray, fromIndex, toIndex);
  • fromIndex:起始索引(包含)
  • toIndex:结束索引(不包含)

示例代码:

int[] src = {10, 20, 30, 40};
int[] dest = Arrays.copyOfRange(src, 1, 3); // 结果为 {20, 30}

手动循环复制

通过循环遍历数组元素逐个赋值,适合需要自定义处理的场景:

int[] src = {5, 6, 7};
int[] dest = new int[src.length];
for (int i = 0; i < src.length; i++) {
    dest[i] = src[i];
}

使用 clone() 方法

数组对象自带的 clone() 方法可快速实现浅拷贝:

int[] src = {8, 9};
int[] dest = src.clone();

注意事项

  • 多维数组复制时需逐层处理,否则会导致浅拷贝(子数组引用共享)。
  • 对象数组复制仅拷贝引用,深拷贝需手动实现或使用序列化工具。

标签: 数组java
分享给朋友:

相关文章

如何用java

如何用java

用Java实现基础功能 Java是一种广泛使用的编程语言,适用于开发各种应用程序。以下是几个常见功能的实现方法。 打印"Hello, World!" public class HelloWorld…

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方法…

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

java如何创建对象

java如何创建对象

创建对象的基本方法 在Java中,创建对象主要通过new关键字调用构造函数完成。基本语法为: ClassName objectName = new ClassName(); 例如创建String对…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

java如何给数组赋值

java如何给数组赋值

数组赋值的几种方法 在Java中,可以通过多种方式为数组赋值。以下是常见的几种方法: 静态初始化 int[] array1 = {1, 2, 3, 4, 5}; String[] array2…