|
本小节内容可能读者会感到困难,但我们还是建议您认真学习和体会,因为它对深入理解数组、培养程序设计的思维,都大有帮助。
System类有一个arraycopy方法,可以有效地把数据从一个数组拷贝到另一个数组。格式为:
public static void arraycopy(Object src, int srcPos,
Object dest, int destPos, int length)
它有两个Object类型的参数,分别代表源数组和目的数组。三个int参数说明了在源数组中的起始位置(srcPos)、拷贝在目的数组中的起始位置(destPos),以及要拷贝的元素数量(length)。 什么是“参数”呢?参数可以理解为一个灵活的量,在具体使用时可以用具体的值或变量来代替。例如,中学数学中学习的函数形式y = f(x,y,z),其中x、y、z既可以理解为变量,也可以理解为参数。当然这里的说法是不严格的,我们还是通过一个例子来学习吧。 【例5】下面的程序ArrayCopyDemo演示了arraycopy方法的用法。
import java.io.*;
class ArrayCopyDemo {
public static void main(String[ ] args) {
char[ ] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
char[ ] copyTo = new char[7];
System.arraycopy(copyFrom, 2, copyTo, 0, 7);
System.out.println(new String(copyTo));
}
}
运行结果如下:
caffein
在ArrayCopyDemo程序中,首先声明了一个包含了"decaffeinated"的char型数组,然后使用arraycopy将数组的一部分(从第2个字符开始,也就是从“c”开始,因为数组是从第0个开始计数的)拷贝到第二个数组中(从第0个字符开始,一共拷贝7个)。在这里,copyFrom、2、copyTo、0、7分别和arraycopy方法的五个参数src、srcPo、dest、destPos、length相对应。 实际上,arraycopy方法的五个参数src、srcPos、dest、destPos、length叫做形式参数,在具体使用该方法时,使用的五个参数copyFrom、2、copyTo、0、7叫做实际参数。实际参数的顺序和类型必须和形式参数一一对应,这叫做实形结合。
上一篇:2.3.3 创建、初始化和访问数组 下一篇:2.4.1 表达式(expression)
|