使用System.arraycopy()實現數組之間的複製


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
相關文章
相關標籤/搜索