位置:首页 > Java技术 > java.lang > java.lang.System.arraycopy()方法实例

java.lang.System.arraycopy()方法实例

java.lang.System.arraycopy() 方法复制从指定源数组的数组,开始在指定的位置,到目标数组的指定位置。 阵列组件的子序列是从src引用由dest引用的目标数组源阵列复制。复制数组的数量等于该长度的参数。

在位置的组件srcPos 通过 srcPos + length - 1 源数组中复制到位置destPos通过destPos+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为null。

例子

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

package com.yiibai;

import java.lang.*;

public class SystemDemo {

   public static void main(String[] args) {

      int arr1[] = { 0, 1, 2, 3, 4, 5 };
      int arr2[] = { 0, 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