如何在Scala中输出数组

时间:2013-01-17 14:16:49

标签: scala

我正在尝试实现Scala for Java中提供的矩阵乘法,但我在显示数组时遇到了问题。

尝试时,例如,

println(singleThreadedMultiplication2(Seq(Array(1, 2),
                                          Array(2, 3)),
                                          Array(Array(11, 8),
                                                Array(2, 6))))

它会显示[[I@2c79a2e7。如何显示数组的内容?

1 个答案:

答案 0 :(得分:2)

给定阵列foo,你可以这样做:

println(foo.mkString(","))

为什么的一点注意事项:数组,与Seq不同,或者大多数其他类不会重载.toString方法,因此将使用Object.toString

编辑:

在你的代码中看起来(这取决于singleThreadedMultiplication2结果的类型)你必须写:

val result = singleThreadedMultiplication2(
                     Seq(Array(1, 2), Array(2, 3)), 
                     Array(Array(11, 8), Array(2, 6))
             )

println(result
          .map(_.mkString("[",",","]")) // making every inner array readable
          .mkString(",")                // now making outer array
       )

要正确输出结果。