itsway,专业的IT网络教程站,让您踏上IT之路,具备IT思维。
  设为首页        加入收藏夹        网站历程

教程总目录:Java教程(上)  Java教程(下)  HTML教程  CSS教程  JavaScript教程

2.3.4 数组的拷贝

本小节内容可能读者会感到困难,但我们还是建议您认真学习和体会,因为它对深入理解数组、培养程序设计的思维,都大有帮助。

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)

 有问题吗?请到以下论坛讨论:
csdn技术论坛     Sun公司技术社区     ChinaJavaWorld技术论坛     赛迪网Java基础     赛迪网Java进阶     Java BBS
 有价值的Java站点:
http://java.sun.com/:Sun公司的Java教学站点,内容当然绝对权威。
JDK软件下载:仍是Sun公司拥有,包含最新版本的JDK下载软件。  Java API中文帮助文档:Sun公司提供的最新文档。
Java视频教程:由孙鑫老师主讲录制,内容丰富。如果您不愿意看本站的文字教程,可以看此教程。
http://www.java-cn.com/:一个国内的Java中文站,由个人开发。另一个类似的站点是http://www.cn-java.com/
IBM中文Java站     Java Research     J道:Java和J2EE解决之道     Java家     Matrix-与Java共舞     天极网Java文章汇总     x-spirit的个人空间     JavaWorld.com     Java.net     Java Boutique


版权所有:www.itsway.net
CopyRight(C) 2007 www.itsway.net
苏ICP……
电子邮件:denghongtao@hotmail.com