如何存储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中方法返回的数组的主要内容,如果未能解决你的问题,请参考以下文章

如何定义 java 定义的存储过程以返回多个结果集?

java 中返回对象数组(急!!)

java 如何能在一个方法中返回多个值?

java判断字符串是不是为空

java中如何获取oracle存储过程返回的多个值。

如何使用 Nashorn 从 Java 方法返回真正的 JavaScript 数组?