Java System类arraycopy()方法及示例

系统类arraycopy()方法

  • arraycopy()方法在java.lang包中可用。

  • arraycopy()方法用于从给定参数(src_array)复制一个数组,并从给定位置(src_start_pos)开始复制到给定目标数组(dest_array)的给定位置(dest_start_pos)。

  • arraycopy()方法将数组元素的子序列从src_array寻址的源数组复制到dest_array寻址的目标数组。

  • arraycopy()方法是静态的,因此也可以使用类名访问此方法。

  • 该方法可能会引发各种类型的异常,下面给出了该异常:

    • IndexOutfBoundsException:复制元素时,导致超出数组范围的元素访问。

    • ArrayStoreException:当源数组元素由于数组的不同转换而无法复制到目标数组中时。

    • NullPointerException:当给定数组中的任何一个为null时。

语法:

    public static void arraycopy(
                Object src_array, 
                int src_start_pos, 
                Object dest_array, 
                int dest_start_pos, 
                int len);

参数:

  • src_array –表示源数组。

  • src_start_pos –表示源数组中的开始或初始位置。

  • dest_array –表示目标数组。

  • dest_start_pos –表示目标数组中的开始或初始位置。

  • len –表示要复制的元素数。

返回值:

此方法的返回类型为void,它不返回任何值。

示例

//Java程序演示的例子 
// arraycopy()系统类的方法。

public class ArraycopyMethod {
    public static void main(String[] args) {
        //在这里,我们声明源数组和目标数组
        int src_array[] = {
            10,
            20,
            30,
            40,
            50
        };
        int dest_array[] = {
            60,
            70,
            80,
            90,
            100,
            110,
            120,
            130,
            140,
            150,
            160
        };

        //通过使用arraycopy()方法复制源 
        //数组到目标数组

        System.arraycopy(src_array, 3, dest_array, 0, 2);
        //显示目标数组元素
        System.out.println(dest_array[0] + " ");
        System.out.println(dest_array[1] + " ");
        System.out.println(dest_array[2] + " ");
        System.out.println(dest_array[3] + " ");
        System.out.println(dest_array[4] + " ");
        System.out.println(dest_array[5] + " ");
        System.out.println(dest_array[6] + " ");
        System.out.println(dest_array[7] + " ");
        System.out.println(dest_array[8] + " ");
        System.out.println(dest_array[9] + " ");
        System.out.println(dest_array[10] + " ");
    }
}

输出结果

E:\Programs>javac ArraycopyMethod.java
E:\Programs>java ArraycopyMethod
40 
50 
80 
90 
100 
110 
120 
130 
140 
150 
160