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

copyOf()函数:将数组复制到一个新数组中,并返回新数组。

发布时间:2023-07-06 12:02:41

copyOf()函数是Java中的一个方法,它用于将一个数组复制到一个新的数组中,并返回这个新的数组。它有多个不同的实现方式,可以根据不同的需求选择使用不同的方法。

在Java中,copyOf()函数有两个常用的实现方式:Arrays类中的copyOf()方法和System类中的arraycopy()方法。

首先,我们来看一下Arrays类中的copyOf()方法。这个方法接受两个参数, 个参数是要复制的原数组,第二个参数是要复制的长度。它会创建一个新的数组,并将原数组中指定长度的元素复制到新数组中。如果原数组的长度小于指定长度,新数组会自动填充默认值。

下面是一个示例代码,演示了如何使用Arrays类中的copyOf()方法来复制数组:

int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, 3);

System.out.println(Arrays.toString(arr2));  // 输出 [1, 2, 3]

在上面的代码中,arr1是原数组,arr2是复制后的新数组。我们将arr1的前3个元素复制到arr2中。最后输出的结果是[1, 2, 3]。

另外一种常用的实现方式是使用System类中的arraycopy()方法。这个方法有多个重载的版本,可以实现不同类型的数组复制。它接受五个参数,分别是原数组、原数组的起始位置、目标数组、目标数组的起始位置和要复制的长度。当要复制的长度超过原数组的长度时,会抛出ArrayIndexOutOfBoundsException异常。

下面是一个示例代码,演示了如何使用System类中的arraycopy()方法来复制数组:

int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = new int[3];

System.arraycopy(arr1, 0, arr2, 0, 3);

System.out.println(Arrays.toString(arr2));  // 输出 [1, 2, 3]

在上面的代码中,arr1是原数组,arr2是复制后的新数组。我们将arr1的前3个元素复制到arr2中。最后输出的结果是[1, 2, 3]。

总结起来,copyOf()函数是一个非常有用的方法,它可以在Java中快速地将一个数组复制到一个新数组中,并返回这个新的数组。它有多种实现方式,我们可以根据具体的需求选择合适的方法来使用。无论是使用Arrays类中的copyOf()方法还是System类中的arraycopy()方法,都可以满足我们对数组复制的需求。使用这个函数可以减少我们的代码量,并且使得代码更加简洁和易于理解。