System.copyarray(Object src, int srcPos, Object dest, int destPos, int length);
Posted on 2009-07-12 23:28 Gavin.lee 閱讀(2237) 評論(0) 編輯 收藏 所屬分類: java SE & EEarraycopy-------From JDK6.0
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
- 從指定源數(shù)組中復(fù)制一個數(shù)組,復(fù)制從指定的位置開始,到目標(biāo)數(shù)組的指定位置結(jié)束。從
src
引用的源數(shù)組到dest
引用的目標(biāo)數(shù)組,數(shù)組組件的一個子序列被復(fù)制下來。被復(fù)制的組件的編號等于length
參數(shù)。源數(shù)組中位置在srcPos
到srcPos+length-1
之間的組件被分別復(fù)制到目標(biāo)數(shù)組中的destPos
到destPos+length-1
位置。如果參數(shù)
src
和dest
引用相同的數(shù)組對象,則復(fù)制的執(zhí)行過程就好像首先將srcPos
到srcPos+length-1
位置的組件復(fù)制到一個帶有length
組件的臨時數(shù)組,然后再將此臨時數(shù)組的內(nèi)容復(fù)制到目標(biāo)數(shù)組的destPos
到destPos+length-1
位置一樣。If 如果
dest
為null
,則拋出NullPointerException
異常。如果
src
為null
, 則拋出NullPointerException
異常,并且不會修改目標(biāo)數(shù)組。否則,只要下列任何情況為真,則拋出
ArrayStoreException
異常并且不會修改目標(biāo)數(shù)組:src
參數(shù)指的是非數(shù)組對象。dest
參數(shù)指的是非數(shù)組對象。src
參數(shù)和dest
參數(shù)指的是那些其組件類型為不同基本類型的數(shù)組。src
參數(shù)指的是具有基本組件類型的數(shù)組且dest
參數(shù)指的是具有引用組件類型的數(shù)組。src
參數(shù)指的是具有引用組件類型的數(shù)組且dest
參數(shù)指的是具有基本組件類型的數(shù)組。
否則,只要下列任何情況為真,則拋出
IndexOutOfBoundsException
異常,并且不會修改目標(biāo)數(shù)組:srcPos
參數(shù)為負(fù)。destPos
參數(shù)為負(fù)。length
參數(shù)為負(fù)。srcPos+length
大于src.length
,即源數(shù)組的長度。destPos+length
大于dest.length
,即目標(biāo)數(shù)組的長度。
否則,如果源數(shù)組中
srcPos
到srcPos+length-1
位置上的實(shí)際組件通過分配轉(zhuǎn)換并不能轉(zhuǎn)換成目標(biāo)數(shù)組的組件類型,則拋出ArrayStoreException
異常。在這種情況下,將 k 設(shè)置為比長度小的最小非負(fù)整數(shù),這樣就無法將src[srcPos+
k]
轉(zhuǎn)換為目標(biāo)數(shù)組的組件類型;當(dāng)拋出異常時,從srcPos
到srcPos+
k-1
位置上的源數(shù)組組件已經(jīng)被復(fù)制到目標(biāo)數(shù)組中的destPos
到destPos+
k-1
位置,而目標(biāo)數(shù)組中的其他位置不會被修改。(因?yàn)橐呀?jīng)詳細(xì)說明過的那些限制,只能將此段落有效地應(yīng)用于兩個數(shù)組都有引用類型的組件類型的情況。)- 參數(shù):
src
- 源數(shù)組。srcPos
- 源數(shù)組中的起始位置。dest
- 目標(biāo)數(shù)組。destPos
- 目標(biāo)數(shù)據(jù)中的起始位置。length
- 要復(fù)制的數(shù)組元素的數(shù)量。- 拋出:
IndexOutOfBoundsException
- 如果復(fù)制會導(dǎo)致對數(shù)組范圍以外的數(shù)據(jù)的訪問。ArrayStoreException
- 如果因?yàn)轭愋筒黄ヅ涠沟脽o法將src
數(shù)組中的元素存儲到dest
數(shù)組中。NullPointerException
- 如果src
或dest
為null
。



























