
- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包額外內容
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java System arraycopy() 方法
描述
Java System arraycopy() 方法將陣列從指定的源陣列(從指定位置開始)複製到目標陣列的指定位置。將由src引用的源陣列中的一個子序列陣列元件複製到由dest引用的目標陣列中。複製的元件數等於length引數。
源陣列中從srcPos到srcPos + length - 1位置的元件分別複製到目標陣列中從destPos到destPos + length - 1位置。
宣告
以下是java.lang.System.arraycopy()方法的宣告
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
引數
src − 這是源陣列。
srcPos − 這是源陣列中的起始位置。
dest − 這是目標陣列。
destPos − 這是目標資料中的起始位置。
length − 這是要複製的陣列元素的數量。
返回值
此方法不返回值。
異常
IndexOutOfBoundsException − 如果複製會導致訪問陣列邊界之外的資料。
ArrayStoreException − 如果由於型別不匹配,src陣列中的元素無法儲存到dest陣列中。
NullPointerException − 如果src或dest為null。
示例:複製int陣列
以下示例顯示了 Java System arraycopy() 方法的使用。在此程式中,我們建立了兩個int陣列並用一些值初始化了它們。現在使用 System.arraycopy() 方法,將第一個陣列 arr1 的第一個元素複製到第二個陣列的索引 0 處。然後我們列印第二個陣列以顯示更新後的陣列作為結果。
package com.tutorialspoint; public class SystemDemo { public static void main(String[] args) { int arr1[] = { 0, 1, 2, 3, 4, 5 }; int arr2[] = { 5, 10, 20, 30, 40, 50 }; // copies an array from the specified source array System.arraycopy(arr1, 0, arr2, 0, 1); System.out.print("array2 = "); for(int i= 0; i < arr2.length; i++) { System.out.print(arr2[i] + " "); } } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
array2 = 0 10 20 30 40
示例:複製字串陣列
以下示例顯示了 Java System arraycopy() 方法的使用。在此程式中,我們建立了兩個字串陣列並用一些值初始化了它們。現在使用 System.arraycopy() 方法,將第一個陣列 arr1 的第一個元素複製到第二個陣列的索引 0 處。然後我們列印第二個陣列以顯示更新後的陣列作為結果。
package com.tutorialspoint; public class SystemDemo { public static void main(String[] args) { String arr1[] = { "0", "1", "2", "3", "4", "5" }; String arr2[] = { "5", "10", "20", "30", "40", "50" }; // copies an array from the specified source array System.arraycopy(arr1, 0, arr2, 0, 1); System.out.print("array2 = "); for(int i= 0; i < arr2.length; i++) { System.out.print(arr2[i] + " "); } } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
array2 = 0 10 20 30 40
示例:複製物件陣列
以下示例顯示了 Java System arraycopy() 方法的使用。在此程式中,我們建立了兩個 Student 物件陣列並用一些值初始化了它們。現在使用 System.arraycopy() 方法,將第一個陣列 arr1 的第一個元素複製到第二個陣列的索引 0 處。然後我們列印第二個陣列以顯示更新後的陣列作為結果。
package com.tutorialspoint; public class SystemDemo { public static void main(String[] args) { Student arr1[] = { new Student(1, "Julie") }; Student arr2[] = { new Student(2, "Robert"), new Student(3, "Adam") }; // copies an array from the specified source array System.arraycopy(arr1, 0, arr2, 0, 1); System.out.print("array2 = "); for(int i= 0; i < arr2.length; i++) { System.out.print(arr2[i] + " "); } } } class Student { int rollNo; String name; Student(int rollNo, String name){ this.rollNo = rollNo; this.name = name; } @Override public String toString() { return "[ " + this.rollNo + ", " + this.name + " ]"; } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
array2 = [ 1, Julie ] [ 3, Adam ]