似乎在Scala中缺少对打印数组的支持。如果您打印一个,则会得到Java中的默认垃圾:
scala> val array = Array.fill(2,2)(0)
array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0))
scala> println(array)
[[I@d2f01d
此外,您不能使用java.util.Arrays类中的Java toString / deepToString方法:(或者至少我无法弄清楚)
scala> println(java.util.Arrays.deepToString(array))
<console>:7: error: type mismatch;
found : Array[Array[Int]]
required: Array[java.lang.Object]
println(java.util.Arrays.deepToString(array))
我可以找到的打印2D阵列的最佳解决方案是执行以下操作:
scala> println(array.map(_.mkString(" ")).mkString("\n"))
0 0
0 0
有没有更惯用的方法呢?