arraycopy()函数用法及示例演示。
arraycopy()函数是一个Java中的数组复制函数,用于将一个数组的元素复制到另一个数组中。
arraycopy()函数的语法如下:
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
参数解释:
- src:源数组,即要复制的数组。
- srcPos:源数组的起始位置。
- dest:目标数组,即要将元素复制到的数组。
- destPos:目标数组的起始位置。
- length:要复制的元素数量。
arraycopy()函数的调用会将源数组从srcPos开始复制,复制到目标数组的destPos位置,复制的元素数量为length。需要注意的是,如果源数组和目标数组是同一个数组,并且源数组的起始位置小于目标数组的起始位置,则会发生数据重叠。
下面通过示例来演示arraycopy()函数的用法:
public class ArrayCopyExample {
public static void main(String[] args) {
int[] src = {1, 2, 3, 4, 5};
int[] dest = new int[5];
// 将src数组的元素复制到dest数组中
System.arraycopy(src, 0, dest, 0, src.length);
// 输出复制后的dest数组
for (int i = 0; i < dest.length; i++) {
System.out.println(dest[i]);
}
}
}
上述示例中,我们创建了一个源数组src和一个目标数组dest,然后使用arraycopy()函数将src数组的元素复制到dest数组中。最后,我们遍历dest数组并输出其中的元素。运行结果如下:
1 2 3 4 5
从运行结果可以看出,src数组的元素已经成功地复制到了dest数组中。
除了基本类型的数组,arraycopy()函数也可以用于复制对象类型的数组。示例如下:
class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class ArrayCopyExample {
public static void main(String[] args) {
Person[] src = {new Person("Alice"), new Person("Bob"), new Person("Charlie")};
Person[] dest = new Person[3];
// 将src数组的元素复制到dest数组中
System.arraycopy(src, 0, dest, 0, src.length);
// 输出复制后的dest数组的元素的name
for (int i = 0; i < dest.length; i++) {
System.out.println(dest[i].getName());
}
}
}
上述示例中,我们创建了一个Person类,并在src数组中放入了三个Person对象。然后,我们创建了与src数组相同长度的dest数组,并使用arraycopy()函数将src数组的元素复制到dest数组中。最后,我们遍历dest数组并输出其中的元素的name属性。运行结果如下:
Alice Bob Charlie
从运行结果可以看出,src数组中Person对象的name属性已经成功地复制到了dest数组中的Person对象中。
综上所述,arraycopy()函数是一个在Java中用于复制数组元素的函数,可以用于复制基本类型数组和对象类型数组。使用arraycopy()函数可以方便地实现数组之间元素的复制。
