比如要复制int[] aaa = {3, 4, 5}这个数组到一个新的数组要怎么做?
取数组的大小 ,然后使用 for 循环依次将 aaa 赋值给新数组对应的下标
System.arraycopy(elementData, 0, a, 0, size);
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
src:源数组; srcPos:源数组要复制的起始位置;
dest:目的数组; destPos:目的数组放置的起始位置; length:复制的长度。
注意:src and dest都必须是同类型或者可以进行转换类型的数组.
public class testArrayCopy {
public static void main(String[] args) {
int[] aaa = {3, 4, 5};
int[] bbb = new int[10];
System.out.println(aaa);//[I@659e0bfd
System.out.println(Arrays.toString(aaa));//[3, 4, 5]
System.arraycopy(aaa, 0, bbb, 3, 3);
System.out.println(Arrays.toString(bbb));//[0, 0, 0, 3, 4, 5, 0, 0, 0, 0]
}
}
废话不多说,自己去悟吧,其实这个我刚才看过去,有点印象,,,
int[] bbb=aaa;完整复制,直接复制就可以了
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。从 src 引用的源数组到 dest 引用的目标数组,数组组件的一个子序列被复制下来。被复制的组件的编号等于 length 参数。源数组中位置在 srcPos 到 srcPos+length-1 之间的组件被分别复制到目标数组中的 destPos 到 destPos+length-1 位置。