在 Java 中的方法中返回两个数组

2022-09-02 05:08:25

例如,考虑到我有两个数组:

String[] array1 = new String[10];
int[] array2= new int[10];

因此,在一个方法中,我已经计算了两个数组,即&
,现在我想返回这两个数组。我该怎么做?array1array2

我在这里读到,我可以创建另一个类并定义某些对象类型并将这些数组封装在该类构造函数中,但我仍然感到困惑,没有完全理解。

如果你能给我看一个能做到这一点的工作例子,或者可能是任何类似的想法,那就太好了。


答案 1

您实际上也可以返回类似如下的内容:

return new Object[]{array1, array2};

假设在调用此方法的外部,返回的对象是 。然后访问 array1 as 并访问 array2 as(需要正确的转换)。objobj[0]obj[1]


答案 2

定义一个对你尝试返回的内容有意义的对象。例如:

public class Inventory {     
      private int[] itemNumbers; //array2
      private String[] itemNames; //array1

      public Inventory(int[] itemNumbers, String[] itemNames)
      {
         this.itemNumbers = itemNumbers;
         this.itemNames = itemNames;
      }

      //Setters + getters. Etc.
}

然后在其他地方:

return new Inventory(array2, array1); 

===============================================

笔记:

上面的示例不是清单的一个很好的例子。创建一个描述项目(项目 ID、项目名称等)的项目类,并存储这些项目的数组。

如果您的两个数组不相关,那么上述方法更像是一种便宜的解决方法。理想情况下,应将数组的计算和返回拆分为它们自己的方法。

如果 int/String 数组表示键/值对,则 use 可以改用 Map DST 实现 (http://download.oracle.com/javase/6/docs/api/java/util/Map.html) 并返回该实现。您可以根据需要循环访问键/值。