Java.lang.System.arraycopy() 方法

描述

java.lang.System.arraycopy() 方法从指定的源数组复制一个数组,从指定位置开始,到目标数组的指定位置。 数组组件的子序列从 src 引用的源数组复制到 dest 引用的目标数组。复制的组件数等于 length< /b> 参数。

源数组中位置 srcPossrcPos + length - 1 的组件被复制到位置 destPosdestPos + length - 1 ,分别是目标数组。


声明

以下是 java.lang.System.arraycopy() 方法的声明。

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

参数

  • src − 这是源数组。

  • srcPos − 这是源数组中的起始位置。

  • dest − 这是目标数组。

  • destPos − 这是目标数据中的起始位置。

  • length − 这是要复制的数组元素的数量。


返回值

此方法不返回任何值。


异常

  • IndexOutOfBoundsException − 如果复制会导致访问数组边界之外的数据。

  • ArrayStoreException − 如果 src 数组中的元素由于类型不匹配而无法存储到 dest 数组中。

  • NullPointerException − 如果 src 或 dest 为空。


示例

下面的例子展示了 java.lang.System.arraycopy() 方法的使用。

package com.tutorialspoint;

import java.lang.*;

public class SystemDemo {

   public static void main(String[] args) {

      int arr1[] = { 0, 1, 2, 3, 4, 5 };
      int arr2[] = { 5, 10, 20, 30, 40, 50 };
    
      // copies an array from the specified source array
      System.arraycopy(arr1, 0, arr2, 0, 1);
      System.out.print("array2 = ");
      System.out.print(arr2[0] + " ");
      System.out.print(arr2[1] + " ");
      System.out.print(arr2[2] + " ");
      System.out.print(arr2[3] + " ");
      System.out.print(arr2[4] + " ");
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

array2 = 0 10 20 30 40