Object[] arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
是 Java 中的一個靜態(tài)方法,用于將一個數(shù)組的一部分復(fù)制到另一個數(shù)組中。這個方法在不同數(shù)據(jù)類型中的應(yīng)用主要體現(xiàn)在以下幾個方面:
基本數(shù)據(jù)類型:
對于基本數(shù)據(jù)類型,你可以使用相應(yīng)的包裝類(如 Integer[]
、Double[]
等)來應(yīng)用 arraycopy
方法。例如,將一個整數(shù)數(shù)組的一部分復(fù)制到另一個整數(shù)數(shù)組中:
Integer[] srcArray = {1, 2, 3, 4, 5};
Integer[] destArray = new Integer[5];
int length = 3;
System.arraycopy(srcArray, 1, destArray, 0, length);
// destArray 現(xiàn)在是 {2, 3, 4}
引用數(shù)據(jù)類型:
對于引用數(shù)據(jù)類型(如自定義類數(shù)組),你可以直接使用 arraycopy
方法。例如,將一個學(xué)生對象數(shù)組的一部分復(fù)制到另一個學(xué)生對象數(shù)組中:
class Student {
String name;
int age;
}
Student[] srcArray = new Student[]{
new Student("Alice", 20),
new Student("Bob", 22),
new Student("Charlie", 24)
};
Student[] destArray = new Student[3];
int length = 2;
System.arraycopy(srcArray, 1, destArray, 0, length);
// destArray 現(xiàn)在是 {new Student("Bob", 22), new Student("Charlie", 24)}
需要注意的是,當(dāng)源數(shù)組或目標(biāo)數(shù)組的元素類型不同時,arraycopy
方法會拋出 ClassCastException
。因此,在使用時需要確保源數(shù)組和目標(biāo)數(shù)組的元素類型是一致的。