在Java中将多维数组传递给另一个方法

在Java中将多维数组传递给另一个方法,java,multidimensional-array,Java,Multidimensional Array,我有[x][y]和int pm2=0;。有没有办法将这个Mult数组传递到公共静态布尔checknumberprint[]列表int num上? 我只是想知道有没有更短的路 不,没有。Java语言不支持任何类型的数组切片,并且您不能破坏类型系统以允许您使用具有不同类型的数组来引用它真正拥有的内容 您需要实现迭代int[][]的int[]组件数组的想法,并将每个数组传递给checkNumberPrint[],int。类似于以下内容: for (int[] subarray : numbers)

我有[x][y]和int pm2=0;。有没有办法将这个Mult数组传递到公共静态布尔checknumberprint[]列表int num上? 我只是想知道有没有更短的路

不,没有。Java语言不支持任何类型的数组切片,并且您不能破坏类型系统以允许您使用具有不同类型的数组来引用它真正拥有的内容

您需要实现迭代int[][]的int[]组件数组的想法,并将每个数组传递给checkNumberPrint[],int。类似于以下内容:

  for (int[] subarray : numbers) {
      checkNumbers(subarray, pm2);
  }

将一维数组作为参数。
所以你必须一次通过一个,可能是在循环中。

什么语言?请在问题中添加适当的标记。如果该方法接受1D数组,则无法发送2D数组。但您应该能够传递数字[x],而不是数字[x][y]。然后在checkNumber的实现中,您可以迭代int[]数组参数中的所有数字。通过数字[x],我可以检查数字[x][0],数字[x][1]的值?“这就是你说的吗?”杰克·米切尔-没错。然而,这是OP已经提出的解决方案;i、 他认为不够短的那个。是的,@MarkBenabese。如果您将数字[x]作为第一个参数传递给checkNumber,那么在checkNumber实现中,您将使用列表[i]访问数字[x][i]。要遍历每个数字,将有两个for循环,一个是@StephenC描述的外部循环,另一个是checkNumber实现中的内部循环。@JakeMitchell-Java绝对不支持它。在Java中,二维数组是一个对象数组,其中每个对象都是一个一维数组?为了一个接一个地传递它,我应该如何在循环中对其进行编码?checknumberprint[]]list,int num允许您一次发送完整的2D数组进行处理。如果您不希望更改方法,请使用forint i=0;我不太明白这一点。你想让我在main方法中使用这个for循环,并在for循环中调用checkNumber吗?您在参数中有数字[x][i],这是否意味着我仍在发送2D数组?抱歉,编码错误。用户forint i=0;这将允许我检查数字[x][y]中的元素?对不起,有这么多问题。