CodeGym /Java 博客 /随机的 /Java System.arraycopy() 方法
John Squirrels
第 41 级
San Francisco

Java System.arraycopy() 方法

已在 随机的 群组中发布

什么是 Java System.arraycopy() 方法?

java.lang.System.arraycopy() 方法将特定起始位置的源数组复制到给定索引处的目标。
此方法属于java.lang.System类。它将指定长度的子数组的内容从给定的数组复制到另一个称为目标数组的数组。源数组称为 src ,目标数组称为dest。元素的数量由len参数给出。

Java System.arraycopy()方法声明

java.lang类中java.lang.System.arraycopy()方法的方法声明如下:

public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int len)

参数

以下是arraycopy方法的参数:
  1. src:它是源数组。

  2. srcIndex:它是源数组的起始索引。

  3. dest:它是目标数组。

  4. destIndex:它是目标数组的起始索引。

  5. len:它是需要从源数组复制到目标数组的元素数。

功能性

arraycopy方法从src复制数据,从srcIndexsrcIndex +( len - 1) 个元素,到destIndexdestIndex + ( len - 1) 个元素dest 数组。

返回值

arraycopy方法有一个void返回类型,这意味着它不返回任何东西

例子


public class Example {

    public static void main(String[] args) {

        String[] src = { "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
        String[] dest = { "January", "February", "March", "April", "May", "June", "July", "August"};
  
        int srcIndex = 2;
        int destIndex = 3;
        int len = 2;
        
        //print number of elements that need to be copied 
        //from the source to the destination array  
        System.out.println("len : " + len);
        
        //print source index
        System.out.println("srcIndex : " + srcIndex);
  
        //print elements of the source array
        System.out.print("src : ");
        for (int i = 0; i < src.length; i++)
            System.out.print(src[i] + " ");
        System.out.println("");
  
        //print destination index
        System.out.println("destIndex : " + destIndex); 
        
        //print elements of the destination array
        System.out.print("dest : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
        System.out.println("");
                
        // Use of arraycopy() method
        System.arraycopy(src, srcIndex, dest, destIndex, len); 
        // this method copies the 'len' no of elements 
        // from the src array to the dest array using the srcIndex
        // and destIndex as reference points in both the arrays
        
                        
        // Print elements of destination after  
        System.out.print("final destination array : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
    }
}

输出

len:2 srcIndex:2 src:周一,周二,周三,周四,周五,周六,周日,destIndex:3

改变参数的例子


// Example of changing parameters
         srcIndex = 4;
         destIndex = 5;
         len = 1;

输出

len : 1 srcIndex : 4 src : Monday Tuesday Wednesday Thursday Friday Saturday Sunday destIndex : 5 dest : January February March April May June July July August 最终目的地数组:January February March April May Friday July August

解释

在上面的代码中,我们定义了两个数组src[]dest[]。之后,我们定义了srcIndexdestIndex来定义两个数组的引用位置。 在第一个示例中System.arraycopy方法将源数组src[]中的元素从索引 2 开始并在索引 3 结束(因为len = 2)复制到目标数组,从索引 3 开始。然后输出复制元素后的最终目标数组。 在第二个示例中System.arraycopy方法从源数组中复制 1 个元素(因为len = 1)src[],从索引 4 开始,到目标数组,从索引 5 开始,并在复制元素后输出最终目标数组。

结论

到本文结束时,我们希望您已经熟悉了Java 中的java.lang.System.arraycopy方法。继续练习以更深入地掌握这个概念。到那时,继续成长,继续发光!
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION