从方法返回两个数组

Raj*_*pta 1 java java-ee

我想从一个方法(填充这些数组)返回两个String数组.两个阵列的大小彼此不同.我该怎么办?

String[] namesOfColumnsFound = new String[45];

String[] namesOfColumnsNotFound = new String[25];

编辑:我只需要传递数据..不需要传递任何行为

Bri*_*new 6

创建一个包含两个数组而不是某个集合组合的对象.为什么?

  1. 如果更改返回组合,它将使重构变得更容易.您不必更改实例List<Array<...>>
  2. 你可以封装的行为该对象.您的客户可以要求回报对象的第一阵列,第二阵列等更妙的是,他们可以要求返回的对象做的事情使用这些阵列,而不是将它们拉出来.这就是OO的本质 - 告诉对象为你做事,而不是让他们告诉你他们是由什么组成的.

例如

public class ReturnType {
   private Array<String> first = ...
   private Array<String> second = ...

   public boolean isValid() { ... }
   public void doSomethingCleverWithReturnValues() { ... }
}

public ReturnType giveMeTwoArrays() {
   ...
   return new ReturnType(...)
}
Run Code Online (Sandbox Code Playgroud)

真的很有诱惑力的做一些简单的(比如返回一个元组或集合组成),但比起做上述(是我的经验之谈刚刚再次犯这样的错误只是现在使用Scala的,这是重构疼痛是相当大的! -类型推断使生活更简单,它仍然是一个痛苦)