Arrays.copyOf 从原数组开头复制指定长度元素,不足补默认值;Arrays.copyOfRange 复制指定区间(左闭右开)的元素,适用于提取子数组。

Arrays.copyOf 和 Arrays.copyOfRange 都是 Java 中用于复制数组的工具方法,定义在 java.util.Arrays 类中,但它们的用途和行为有明显区别。
public static <T> T[] copyOf(T[] original, int newLength)
public static int[] copyOf(int[] original, int newLength)(以 int 为例)
示例:
立即学习“Java免费学习笔记(深入)”;
int[] arr = {1, 2, 3};
int[] newArr = Arrays.copyOf(arr, 5);
// 结果:{1, 2, 3, 0, 0}
说明:
newLength 决定newLength 小于原数组长度,会截断
public static <T> T[] copyOfRange(T[] original, int from, int to)
public static int[] copyOfRange(int[] original, int from, int to)
示例:
立即学习“Java免费学习笔记(深入)”;
int[] arr = {1, 2, 3, 4, 5};
int[] range = Arrays.copyOfRange(arr, 1, 4);
// 结果:{2, 3, 4}(索引 1 到 3)
说明:
from 是起始索引(包含)to 是结束索引(不包含)to - from
to 超出原数组长度,会抛出 ArrayIndexOutOfBoundsException
基本上就这些,根据需求选择合适的方法即可。
以上就是Java中Arrays.copyOf与copyOfRange区别的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号