java數組拷貝的方法
阿新 • • 發佈:2017-12-27
java數組拷貝的方法//數組拷貝的方法:System.arraycopy()
/*
查看源代碼文件中的System類的arraycopy方法:
這是我的安裝目錄:D:\OpenSourceSoftware\Java\jdk1.7.0_80\src\java\lang\System.java
System.java文件中的arraycopy方法代碼如下:
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
看看參數
Object:java語言中的根類,是老祖宗類,頂級父類,所有類都是他衍生出來的,Object可以表示任意數據類型
關於native修飾符:
有沒有註意到該方法是沒有方法體的,該方法使用了native修飾符(也稱為本地方法),意思就是
該方法的底層使用了C/C++語言實現了,那麽java直接調用其他語言編寫好的功能
參數說明:
Object src : 原數組
int srcPos : 從元數據的起始位置開始
Object dest : 目標數組
int destPos : 目標數組的開始起始位置
int length : 要copy的數組的長度
查閱API文檔(java的幫助文檔)
*/
class ArrayCopyDemo
{
public static void main(String[] args)
{
byte[] srcBytes = new byte[]{2,4,0,0,0,0,0,10,15,50};
byte[] destBytes = new byte[5];
printArray(destBytes);
System.arraycopy(srcBytes,0,destBytes,0,4);
printArray(destBytes);
}
static void printArray(byte[] arr)
{
String ret = "[";
for (int i=0; i<arr.length; i++)
{
ret = ret + arr[i];
if (i != arr.length -1)
{
ret = ret + ", ";
}
}
ret = ret + "]";
System.out.println(ret);
}
}
java數組拷貝的方法