【问题标题】:How to print array values in Scala? I am getting different values如何在 Scala 中打印数组值?我得到不同的价值观
【发布时间】:2018-07-26 10:25:40
【问题描述】:

代码:

object Permutations extends App 
{          
    val ar=Array(1,2,3).combinations(2).foreach(println(_))
}

输出:

[我@378fd1ac [我@49097b5d [我@6e2c634b

我正在尝试执行此操作,但我得到了一些其他值。

如何在 Scala 中打印数组值?有人可以帮忙打印吗?

【问题讨论】:

标签: scala


【解决方案1】:

使用mkString

object Permutations extends App {
   Array(1,2,3).combinations(2).foreach(x => println(x.mkString(", ")))
}

Scala REPL

scala> Array(1,2,3).combinations(2).foreach(x => println(x.mkString(", ")))
1, 2
1, 3
2, 3

当数组实例直接用于println内部时。数组的toString 方法被调用并产生类似[I@49097b5d 的输出。因此,使用mkString 将数组实例转换为字符串。

Scala REPL

scala> println(Array(1, 2))
[I@2aadeb31

scala> Array(1, 2).mkString
res12: String = 12

scala> Array(1, 2).mkString(" ")
res13: String = 1 2

scala>

【讨论】:

    【解决方案2】:

    您不能直接打印数组,如果您尝试打印它将打印该数组的引用。

    你快到了,只需遍历数组数组,然后遍历单个数组并显示如下元素

    Array(1,2,3).combinations(2).foreach(_.foreach(println))
    

    或者只是将每个数组转换为字符串并显示如下

    Array(1,2,3).combinations(2).foreach(x=>println(x.mkString(" ")))
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 2021-11-29
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      相关资源
      最近更新 更多