當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。