0

我正在尝试实现Scala for Java中提供的矩阵乘法,但我无法显示数组。

例如,在尝试时,

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

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

4

1 回答 1

2

给定 Array 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
       )

正确输出结果。

于 2013-01-17T14:19:17.360 回答