A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨胜利 初级黑马   /  2012-7-19 12:28  /  2480 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

程序代码如下:
package java04;
public class ArrayCopySystem
{
/**
  * 使用System类所提供的Arraycopy()方法实现数组复制
  */
public static void main(String[] args)
{
  int[] arr1 = {1,2,3,4,5};
  int[] arr2 = new int[5];
  System.out.println("复制开始之前arr2中元素为:");
  for(int i=0; i<arr2.length; i++)
  {
   System.out.println(arr2+" ");
  }
  System.arraycopy(arr1, 0, arr2, 0, arr1.length);
  System.out.println();  //回车换行
  //将第一个数组从0位置开始的所有元素复制到第二个数组的0开始位置
  System.out.println("数组arr1中数据复制到数组arr2中后arr2中元素为:");
  for(int i=0; i<arr2.length; i++)
  {
   System.out.println(arr2+" ");
  }
  System.out.println();
}
}
问题:System.arraycopy(arr1, 0, arr2, 0, arr1.length);这行代码怎么理解?
          arr1, 0, arr2, 0, arr1.length分别表示什么?

  

3 个回复

倒序浏览
System.arraycopy(arr1, 0, arr2, 0, arr1.length);这行代码怎么理解?
          arr1, 0, arr2, 0, arr1.length分别表示什么?

复制arr1数组,从0下标开始,复制的数量是arr1.length,复制给arr2,插入到从0下标开始的位置

API文档解释
arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
回复 使用道具 举报
这种情况使用数组类Arrays可以解决,那里有copyOf方法,使用更简单。。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马