当我在这里浏览答案时,我读到了


  “ Java没有真正的二维数组;它具有
  数组,因此x [rows] [cols]是cols元素的行数组x
  (即x [rows]是一个数组数组)。”


这对我来说似乎是个好消息,因为我想通过从2D阵列复制“行”来创建一个1D阵列。从2D数组P中调用特定数组的正确语法是什么?实质上:

new double[] row1 = P[row];


还是我必须遍历要复制的行?我已经尝试了上面的代码和几种类似的方法。所有这些都收到“缺少数组维”的错误。

最佳答案

如果要引用行,可以使用double[] selectedRow = P[rowToSelect]。代码中的new关键字放错了位置。如果您想要真实副本或更好地称为深层副本,则可以使用:

double[] selectedRow = new double[P[rowToSelect].length];
System.arraycopy(P[rowToSelect], 0, selectedRow, 0, P[rowToSelect].length);`

关于java - Java:从2D阵列复制单个阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40451449/

10-11 23:02
查看更多