我在尝试:
private int[] data = new int[1];
int[] newArr = new int[1];
System.arraycopy(data, 0, newArr, data.length);
但我得到了:
error: method arraycopy in class System cannot be applied to given types;
System.arraycopy(data, 0, newArr, data.length);
^
required: Object,int,Object,int,int
found: int[],int,int[],int
reason: actual and formal argument lists differ in length
1 error
Compilation Failed
我确信可以复制int[]
我做错的任何事情吗?
答案 0 :(得分:1)
你只是错过了该方法的最后一个参数,here's javadoc,这就是它所说的参数:
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
下面应该有效:
int[] data = new int[1];
int[] newArr = new int[1];
System.arraycopy(data, 0, newArr, 0, data.length);
System.out.println(Arrays.toString(newArr));
答案 1 :(得分:1)
如上所述,你错过了一个论点。但是既然你要复制整个数组,你也可以使用更简单的方法:
int[] newArr = data.clone();