我想将方法返回的数组存储到另一个数组中。我怎样才能做到这一点?
public int[] method(){
int z[] = {1,2,3,5};
return z;
}
当我调用此方法时,如何将返回的数组(z)存储到另一个数组中?
答案 0 :(得分:14)
public int[] method() {
int z[] = {1,2,3,5};
return z;
}
上面的方法不会返回数组,而是返回对数组的引用。在调用函数中,您可以在另一个引用中收集此返回值,如:
int []copy = method();
此copy
之后还会引用z
之前引用的相同数组。
如果这不是您想要的,并且您想要创建阵列的副本,则可以使用System.arraycopy
创建副本。
答案 1 :(得分:4)
int [] anotherArray = method();
您想要制作阵列的另一个物理副本吗?
然后使用
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
答案 2 :(得分:3)
int[] x = method();
答案 3 :(得分:1)
如果要复制数组,可以使用[此API] [1]:
http://java.sun.com/javase/6/docs/api/java/util/Arrays.html#copyOf(int[],int)
答案 4 :(得分:1)
尝试: -
int arr[]=mymethod();
//caling method it stores in array
public int[] mymethod()
{
return arr;
}
答案 5 :(得分:0)
你确定要复制吗?
int[] myArray = method(); // now myArray can be used