System提供了一個靜態方法arraycopy(),咱們可使用它來實現數組之間的複製。其函數原型是:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src:源數組; srcPos:源數組要複製的起始位置;
dest:目的數組; destPos:目的數組放置的起始位置; length:複製的長度。
注意:src and dest都必須是同類型或者能夠進行轉換類型的數組.
有趣的是這個函數能夠實現本身到本身複製,好比:
int[] fun ={0,1,2,3,4,5,6};
System.arraycopy(fun,0,fun,3,3);
則結果爲:{0,1,2,0,1,2,6};
實現過程是這樣的,先生成一個長度爲length的臨時數組,將fun數組中srcPos
到srcPos+length-1之間的數據拷貝到臨時數組中,再執行System.arraycopy(臨時數組,0,fun,3,3).
原文地址:http://blog.csdn.net/kesalin/article/details/566354