登录
首页 >  文章 >  java教程

Java数组复制方法:copyOf与copyOfRange解析

时间:2026-02-11 11:35:31 270浏览 收藏

一分耕耘,一分收获!既然都打开这篇《Java数组复制技巧:copyOf与copyOfRange详解》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新文章相关的内容,希望对大家都有所帮助!

Arrays.copyOf复制整个数组并可调整长度,若新长度大于原数组则用默认值填充,小于则截断;Arrays.copyOfRange复制指定范围的子数组,包含起始索引到结束索引前一位,适用于提取部分元素。两者均支持基本类型和对象数组,使用便捷且安全。

在Java中如何使用Arrays.copyOf与copyOfRange复制数组_Arrays copy操作技巧

在Java中,Arrays.copyOfArrays.copyOfRange 是两个非常实用的数组复制工具方法,它们都定义在 java.util.Arrays 类中。相比手动遍历或使用 System.arraycopy,这两个方法更简洁、安全且易于理解。

Arrays.copyOf:复制数组并可调整长度

Arrays.copyOf 用于复制整个数组,同时允许指定新数组的长度。如果新长度大于原数组,剩余位置会用默认值填充(如0、null、false等);如果小于,则截断。

方法签名如下:

public static T[] copyOf(T[] original, int newLength)

示例:

  • 复制整数数组并扩展长度
int[] arr = {1, 2, 3}; int[] newArr = Arrays.copyOf(arr, 5); // 结果:[1, 2, 3, 0, 0]
  • 复制字符串数组并缩短
String[] words = {"a", "b", "c", "d"}; String[] shorter = Arrays.copyOf(words, 2); // 结果:["a", "b"]

Arrays.copyOfRange:复制数组的指定范围

Arrays.copyOfRange 可以复制数组的一部分,从指定的起始索引(包含)到结束索引(不包含),适用于需要提取子数组的场景。

方法签名:

public static T[] copyOfRange(T[] original, int from, int to)

示例:

  • 提取部分元素
int[] data = {10, 20, 30, 40, 50}; int[] part = Arrays.copyOfRange(data, 1, 4); // 结果:[20, 30, 40]
  • 复制到最后
int[] tail = Arrays.copyOfRange(data, 2, data.length); // 结果:[30, 40, 50]

基本类型也支持

除了对象数组,Arrays 类为每种基本类型都提供了对应的重载方法,如 copyOf(int[], int)copyOf(double[], int)copyOfRange(char[], int, int) 等,使用方式一致。

例如:

double[] values = {1.1, 2.2, 3.3}; double[] dup = Arrays.copyOf(values, 3);

基本上就这些。只要记得 copyOf 复制全部并可变长,copyOfRange 截取片段,就能灵活应对大多数数组复制需求。不复杂但容易忽略细节,比如索引边界和自动填充规则。

今天关于《Java数组复制方法:copyOf与copyOfRange解析》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>