JavaSystem.Arraycopy(Object, Int32, Object, Int32, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從指定來源陣列從指定位置複製一個陣列,從指定位置開始,複製到目標陣列的指定位置。
[Android.Runtime.Register("arraycopy", "(Ljava/lang/Object;ILjava/lang/Object;II)V", "")]
public static void Arraycopy(Java.Lang.Object src, int srcPos, Java.Lang.Object dest, int destPos, int length);
[<Android.Runtime.Register("arraycopy", "(Ljava/lang/Object;ILjava/lang/Object;II)V", "")>]
static member Arraycopy : Java.Lang.Object * int * Java.Lang.Object * int * int -> unit
參數
- src
- Object
源陣列。
- srcPos
- Int32
在來源陣列中的起始位置。
- dest
- Object
目的地陣列。
- destPos
- Int32
目的資料中的起始位置。
- length
- Int32
要複製的陣列元素數量。
- 屬性
備註
從指定來源陣列從指定位置複製一個陣列,從指定位置開始,複製到目標陣列的指定位置。 陣列組件的子序列會從參考 src 的來源陣列複製到目標 dest陣列。 複製的元件數量等於該 length 參數。 來源srcPos陣列中位於 的位置 的srcPos+length-1元件會被複製到destPosdestPos+length-1目的陣列中 的位置。
若 src 和 dest 參數指向同一陣列物件,則複製時,將位於 的srcPos元件srcPos+length-1先複製到帶有length元件的臨時陣列,接著將臨時陣列的內容複製到destPos目的陣列的 Position ThroughdestPos+length-1。
若 dest , null則拋出 a NullPointerException 。
若 src 是 null,則拋出 a NullPointerException 且目標陣列未被修改。
否則,若以下任一為真,則拋出 an ArrayStoreException 且目標不被修改: <ul><li>該 src 參數指的是一個非陣列的物件。
<li>這個 dest 參數指的是一個不是陣列的物件。
<li>參數srcdest與參數指的是其組成類型為不同原始型態的陣列。
<li>參數 src 指的是具有原始元件型態的陣列,而參數 dest 則指的是具有參考元件型態的陣列。
<li>參數 src 指的是一個帶有參考元件類型的陣列,而參數 dest 則指的是具有原始元件類型的陣列。
</ul>
否則,若以下任一為真,則拋出 an IndexOutOfBoundsException 且目標不改: <ul><li>該 srcPos 參數為負。
<李>論 destPos 點是否定的。
<李>論 length 點是否定的。
<LI>srcPos+length 大於 src.length來源陣列的長度。
<LI>destPos+length 大於 dest.length目的陣列的長度。
</ul>
否則,如果來源陣列中從位置 srcPos 到 srcPos+length-1 位置的任何實際元件無法透過指派轉換轉換為目的陣列的元件類型,則會拋出 a ArrayStoreException 。 此時,設 <b>k</b> 為最小且長度小於 k 的非負整數,且 src[srcPos+k] 無法轉換為目的陣列的元件類型;當拋出例外時,從 srcPossrcPos+ 個位置-1的來源陣列元件已複製到目標destPos陣列 destPos+ 的位置-1,且目的陣列的其他位置不會被修改。 (由於已列明的限制,本段實際上僅適用於兩個陣列的元件類型皆為參考型態的情況。)
Java 文件 java.lang.System.arraycopy(java.lang.Object, int, java.lang.Object, int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。