位置:首頁 > 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