2010-03-04 41 views
6

我想将方法​​返回的数组存储到另一个数组中。我怎样才能做到这一点?如何存储Java中的方法返回的数组

public int[] method(){ 
    int z[] = {1,2,3,5}; 
    return z; 
} 

当我调用此方法时,如何将返回的数组(z)存储到另一个数组中?

+0

你的意思是复制阵列,或者只是这种分配方法的结果给一个变量,所以你可以使用它? – extraneon

+0

你的意思是将结果附加到另一个数组上吗?和你一样,你从foo = {9,9,9}开始,然后在调用你的方法之后,你想把它们追加到foo,使得foo变成{9,9,9,1,2,3,5}? – Douglas

回答

13
public int[] method() { 
    int z[] = {1,2,3,5}; 
    return z; 
} 

上述方法不返回的数组帕本身,而不是将其返回到数组的引用。在调用函数你可以像其他引用收集这些返回值:

int []copy = method(); 

在此之后copy也将指向同一个数组z是指的面前。

如果这不是你想要的,你想创建一个数组副本,你可以使用System.arraycopy创建一个副本。

3
int[] x = method(); 
+0

非常感谢,int [] x = method();非常感谢,谢谢。 –

4

int [] anotherArray = method();

你想制作另一个数组的物理副本吗?

然后使用

System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 
+0

为什么不只是.clone()? – Ingo

0

你确定你要复制?

int[] myArray = method(); // now myArray can be used 
+1

想知道我们是否可以在这里使用for循环? –

1

尝试: -

int arr[]=mymethod(); 

//caling method it stores in array 

public int[] mymethod() 
{ 

    return arr; 

} 
+1

欢迎来到Stackoverflow!没有必要重复其他答案。特别是在2年前回答的问题上。 –