📜  Java中的 System.arraycopy()

📅  最后修改于: 2022-05-13 01:55:42.168000             🧑  作者: Mango

Java中的 System.arraycopy()

Java.lang.System 类为标准输入和输出、加载文件和库或访问外部定义的属性提供了有用的方法。 Java.lang.System.arraycopy() 方法将源数组从特定的开始位置复制到目标数组中的指定位置。要复制的参数数量由len参数决定。
source_Positionsource_Position + length – 1的组件被复制到目标数组,从destination_Positiondestination_Position + length – 1

类声明

public final class System
   extends Object

数组复制
句法 :

public static void arraycopy(Object source_arr, int sourcePos,
                            Object dest_arr, int destPos, int len)
Parameters : 
source_arr : array to be copied from
sourcePos : starting position in source array from where to copy
dest_arr : array to be copied in
destPos : starting position in destination array, where to copy in
len : total no. of components to be copied.

执行

// Java program explaining System class method - arraycopy()
import java.lang.*;
public class NewClass
{
    public static void main(String[] args)
    {
        int s[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
        int d[] = { 15, 25, 35, 45, 55, 65, 75, 85, 95, 105};
  
        int source_arr[], sourcePos, dest_arr[], destPos, len;
        source_arr = s;
        sourcePos = 3;
        dest_arr = d;
        destPos = 5;
        len = 4;
  
        // Print elements of source
        System.out.print("source_array : ");
        for (int i = 0; i < s.length; i++)
            System.out.print(s[i] + " ");
        System.out.println("");
  
        System.out.println("sourcePos : " + sourcePos);
         
        // Print elements of source
        System.out.print("dest_array : ");
        for (int i = 0; i < d.length; i++)
            System.out.print(d[i] + " ");
        System.out.println("");
         
        System.out.println("destPos : " + destPos);
         
        System.out.println("len : " + len);
         
        // Use of arraycopy() method
        System.arraycopy(source_arr, sourcePos, dest_arr, 
                                            destPos, len);
         
        // Print elements of destination after
        System.out.print("final dest_array : ");
        for (int i = 0; i < d.length; i++)
            System.out.print(d[i] + " ");
    }
} 

输出:

source_array : 10 20 30 40 50 60 70 80 90 100 
sourcePos : 3
dest_array : 15 25 35 45 55 65 75 85 95 105 
destPos : 5
len : 4
final dest_array : 15 25 35 45 55 40 50 60 70 105