1

我在scala中有这段代码

val wordCounts = logData.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)
wordCounts.foreach(println(_))

那么 println(_) 是什么意思,它应该打印什么?

4

1 回答 1

2

规范的“匿名函数的占位符语法”部分所述

println(_)

是匿名函数文字的快捷方式

w => println(w)

这反过来又是类似的捷径

(w: (String, Int)) => println(w)

在这种特殊情况下。

所以,

wordCounts.foreach(println(_))

简单地打印wordCounts.

请注意,它也可以写得更短:

wordCounts foreach println
于 2018-09-19T23:35:31.177 回答