如何在不使用循环的情况下用 Java 填充多维数组?我试过了:
double[][] arr = new double[20][4];
Arrays.fill(arr, 0);
这导致 java.lang.ArrayStoreException: java.lang.Double
原文由 Caroline 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何在不使用循环的情况下用 Java 填充多维数组?我试过了:
double[][] arr = new double[20][4];
Arrays.fill(arr, 0);
这导致 java.lang.ArrayStoreException: java.lang.Double
原文由 Caroline 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
这是因为A —
0.0
double[][]
是一个阵列double[]
double[] vector = 0.0
.事实上,Java 没有真正的多维数组。碰巧,
0.0
是 Java 中双精度的默认值,因此当您从new
获取它时,矩阵实际上已经用零填充了。但是,如果您想用1.0
填充它,您可以执行以下操作:我不相信 API 提供了一种不使用循环来解决这个问题的方法。然而,使用 for-each 循环就足够简单了。