欢迎访问宙启技术站
智能推送

copyOf() 函数演示

发布时间:2023-06-12 05:57:59

copyOf() 函数是 Java 中 Arrays 类中提供的函数之一。它主要用于复制一个指定长度的数组的一部分或全部到一个新的数组中。copyOf() 函数有多个重载的版本可以用于不同类型的数组,例如 int[]、double[]、char[] 等。

使用 copyOf() 函数可以快速地将一个数组复制到另一个数组中,而且不需要自己进行循环和元素复制操作。这个函数接受两个参数:原始数组和复制的长度。函数会返回一个新的数组,该数组包含原始数组的前 n 个元素(n 为指定的长度),如果原始数组不够长,就会用默认值填充新数组。

例如,在以下示例中,我们将复制一个长度为 5 的整数数组的前 3 个元素到一个新的数组中:

int[] originalArray = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOf(originalArray, 3);
System.out.println(Arrays.toString(newArray));

输出结果为 [1, 2, 3]。

如果指定的长度大于原始数组的长度,那么 copyOf() 函数将填充新数组中剩余的位置,例如:

int[] originalArray = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOf(originalArray, 7);
System.out.println(Arrays.toString(newArray));

输出结果为 [1, 2, 3, 4, 5, 0, 0],其中 0 是新数组中填充的默认值。

copyOf() 函数还支持对数组的某一部分进行复制,这样可以复制任意长度的子数组。该函数包含四个参数:原始数组、要复制的起始索引、要复制的结束索引(不包括)、要复制的新数组长度。以下示例演示了如何从数组的第 2 个元素开始复制 3 个元素到一个新的数组中:

int[] originalArray = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOfRange(originalArray, 1, 4);
System.out.println(Arrays.toString(newArray));

输出结果为 [2, 3, 4]。

需要注意的是,在复制数组时,如果原始数组的元素是对象类型,则新数组中的元素也是原始数组的元素的引用。因此,如果修改新数组中的一个元素,原始数组中相应的元素也会被修改,直接修改原始数组也会影响到新数组。

copyOf() 函数是 Java 中一个非常方便的数组操作函数,可以大大减少使用者的代码复杂度和工作量。对于 Java 程序员来说,掌握该函数是非常必要的。