黑马程序员技术交流社区
标题:
Arraycopy()方法实现数组复制的一点小问题
[打印本页]
作者:
杨胜利
时间:
2012-7-19 22:47
标题:
Arraycopy()方法实现数组复制的一点小问题
本帖最后由 杨胜利 于 2012-7-20 00:46 编辑
程序代码如下:
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分别代表什么?
作者:
程潇
时间:
2012-7-19 22:58
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 是类java.lang.System中的静态方法
其作用是从指定的源数组的指定位置开始拷贝数组,拷贝到目的数组的指定位置
其各个参数含义如下:
src - 源数组
srcPos - 源数组中要拷贝的起始位置
dest - 目的数组
destPos - 要拷贝到的目的数组的起始位置
length - 要拷贝的数组元素的个数
建议:看到不熟悉的类或方法,多查查API
作者:
陈欢
时间:
2012-7-19 23:02
本帖最后由 陈欢 于 2012-7-19 23:05 编辑
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中从arr1[0]开始的元素复制到arr2中,且arr2[0]复制到arr2[0]位置,复制的长度是arr1的长度即arr1中所有元素都复制过去.
该方法中第一参数是要复制的数组,第二个参数是要复制数组的起始位置,第三个参数是复制的目标数组,第四个参数是复制到目标数组的其始位置,第五个参数是要复制的数组的长度
}
我认为就是这样的,之前也查过这方面的资料,希望可以帮到你
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2