java System.arrayCopy使用說明
java.lang.System.arraycopy() 方法復(fù)制指定的源數(shù)組的數(shù)組邮偎,在指定的位置開始末早,到目標(biāo)數(shù)組的指定位置。
下面是 System.arrayCopy的源代碼聲明 :
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
代碼解釋:
Object src : 原數(shù)組
int srcPos : 從元數(shù)據(jù)的起始位置開始
Object dest : 目標(biāo)數(shù)組
int destPos : 目標(biāo)數(shù)組的開始起始位置
int length : 要copy的數(shù)組的長度
比如 :我們有一個數(shù)組數(shù)據(jù) byte[] srcBytes = new byte[]{2,4,0,0,0,0,0,10,15,50}; // 源數(shù)組
byte[] destBytes = new byte[5]; // 目標(biāo)數(shù)組
我們使用System.arraycopy進(jìn)行轉(zhuǎn)換(copy)
System.arrayCopy(srcBytes,0,destBytes ,0,5)
上面這段代碼就是 : 創(chuàng)建一個一維空數(shù)組,數(shù)組的總長度為 12位,然后將srcBytes源數(shù)組中 從0位 到 第5位之間的數(shù)值 copy 到 destBytes目標(biāo)數(shù)組中,在目標(biāo)數(shù)組的第0位開始放置.
那么這行代碼的運行效果應(yīng)該是 2,4,0,0,0,
我們來運行一下
byte[] srcBytes = new byte[]{2,4,0,0,0,0,0,10,15,50};
byte[] destBytes = new byte[5];
System.arraycopy(srcBytes, 0, destBytes, 0, 5);
for(int i = 0;i< destBytes.length;i++){
System.out.print("-> " + destBytes[i]);
}
運行結(jié)果 : -> 2-> 4-> 0-> 0-> 0