当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java System arraycopy()用法及代码示例


Java System类的arraycopy()方法返回或复制指定源数组的一个子序列组件,从源数组(简称"src")的指定位置(简称"srcPos")开始到目标数组(简称"destPos")的指定位置(简称"destPos")如 "dest")。 "length" 参数是要复制的组件数。

用法

public static void arraycopy (Object src, int srcPos, Object dest, int destPos, int length)

参数

src- 源数组(对象类型)

srcPos- 源数组中的起始位置(整数类型)

dest- 目标数组(对象类型)

destpos- 目标数组中的起始位置(整数类型)

length- 要复制的元素数(整数类型)

返回

  1. 如果 dest 或 src 为 null,则抛出 NullPointerException。
  2. 如果 src 和 dest 参数表示相同的数组对象,则组件的复制将从 srcPos 开始。首先将组件复制到一个临时数组,然后复制到目标数组的 destPos 位置。
  3. 如果任何 int 类型参数具有负值,则抛出 IndexOutOfBoundsException。
  4. 如果 src 和 dest 参数表示的对象不是数组,则抛出 ArrayStoreException

例子1

public class SystemArraycopyExample1 {
	public static void main(String[] args) {
		int a[]= {1,2,3,4,3,2,1}; //source array
        int b[]= {5,6,7,8,7,6,5}; //destination array
        int src[],srcPos,dest[],destPos,length;
        src=a;
        srcPos=1;
        dest=b;
        destPos=2;
        length=4;
        System.out.print("Source array:");
        for(int i=0;i<src.length;i++) {System.out.print(a[i]);}
        System.out.println();
        System.out.print("Destination array:");
        for(int i=0;i<src.length;i++) {System.out.print(b[i]);}
        System.out.println();
        System.out.println("Source Position:"+srcPos);
        System.out.println("Destination Position:"+destPos);
        System.out.println("Length:"+length);
        System.arraycopy(src, srcPos, dest, destPos, length); //use of arraycopy() method
        System.out.println("Destination array after use of arraycopy()");
        for(int i=0;i<b.length;i++)
        {
        	System.out.print(b[i]);
        }
	}

}

输出:

Source array:1234321
Destination array:5678765
Source Position:1
Destination Position:2
Length:4
Destination array after use of arraycopy()
5623435

例子2

public class SystemArraycopyExample2 {
	public static void main(String[] args) {
		String a[]= {"A","B","B","H","A","M"}; //source array
        String b[]= {"S","H","U","N","U","L","L","J","A","D","O","N"};  //destination array
        String src[],dest[];
        int srcPos,destPos,length;
        src=a;
        srcPos=2;
        dest=b;
        destPos=3;
        length=4;
        System.out.print("Source array:");
        for(int i=0;i<src.length;i++) {System.out.print(a[i]);}
        System.out.println();
        System.out.print("Destination array:");
        for(int i=0;i<src.length;i++) {System.out.print(b[i]);}
        System.out.println();
        System.out.println("Source Position:"+srcPos);
        System.out.println("Destination Position:"+destPos);
        System.out.println("Length:"+length);
        System.arraycopy(src, srcPos, dest, destPos, length); //use of arraycopy() method
        System.out.println("Destination array after use of arraycopy()");
        for(int i=0;i<b.length;i++)
        {
        	System.out.print(b[i]);
        }
	}

}

输出:

Source array:ABBHAM
Destination array:SHUNUL
Source Position:2
Destination Position:3
Length:4
Destination array after use of arraycopy()
SHUBHAMJADON




相关用法


注:本文由纯净天空筛选整理自 Java System arraycopy() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。