【问题标题】:How to store an array returned by a method in Java如何存储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 }?跨度>

标签: java arrays programming-languages methods


【解决方案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;
          
          }
          

          【讨论】:

          • 欢迎来到 Stackoverflow!无需重复其他答案。特别是关于 2 年前回答的问题。
          猜你喜欢
          • 2014-11-01
          • 2015-12-07
          • 2018-06-23
          • 1970-01-01
          • 2014-12-14
          • 2023-03-22
          • 2021-06-10
          • 2021-03-03
          相关资源
          最近更新 更多