如何存储Java中方法返回的数组
Posted
技术标签:
【中文标题】如何存储Java中方法返回的数组【英文标题】:How to store an array returned by a method in Java 【发布时间】:2011-01-23 15:21:03 【问题描述】:我想将一个方法返回的数组存储到另一个数组中。我怎样才能做到这一点?
public int[] method()
int z[] = 1,2,3,5;
return z;
当我调用这个方法时,如何将返回的数组(z)存储到另一个数组中?
【问题讨论】:
你的意思是复制数组,还是只是将这个方法的结果分配给一个变量以便你可以使用它? 你的意思是将结果附加到另一个数组上吗?如,您从 foo = 9, 9, 9 开始,然后在调用您的方法后,您希望将它们附加到 foo 使得 foo 变为 9, 9, 9, 1, 2, 3, 5 ?跨度> 【参考方案1】:int[] x = method();
【讨论】:
非常感谢,int[] x = method();工作得很好,谢谢。 这同样有效吗?整数 [] x; x = 方法():【参考方案2】:int[] anotherArray = method();
您想制作另一个阵列的物理副本吗?
然后使用
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
【讨论】:
【参考方案3】:如果要复制数组,可以使用[this API][1]:
http://java.sun.com/javase/6/docs/api/java/util/Arrays.html#copyOf(int[], int)
【讨论】:
【参考方案4】:你确定要复制吗?
int[] myArray = method(); // now myArray can be used
【讨论】:
【参考方案5】:public int[] method()
int z[] = 1,2,3,5;
return z;
上述方法不返回数组解析,而是返回对数组的引用。在调用函数中,您可以在另一个引用中收集此返回值,例如:
int []copy = method();
在此之后,copy
还将引用 z
之前引用的同一数组。
如果这不是您想要的并且您想要创建数组的副本,您可以使用System.arraycopy
创建一个副本。
【讨论】:
【参考方案6】:试试:-
int arr[]=mymethod();
//caling method it stores in array
public int[] mymethod()
return arr;
【讨论】:
欢迎来到 ***!无需重复其他答案。特别是关于 2 年前回答的问题。以上是关于如何存储Java中方法返回的数组的主要内容,如果未能解决你的问题,请参考以下文章