我遇到了这个:_*表示许多spark-scala答案,但找不到任何文档.实际上是什么意思?这种用法的一个例子就是这个问题的答案
如何在Spark Java中使用isin的DataFrame过滤器?
线:
df.filter(col("something").isin(list: _*)
Run Code Online (Sandbox Code Playgroud)
Mah*_*and 13
为了理解它,我们举一个例子
scala> def echo(args: String*) =
for (arg <- args) println(arg)
echo: (args: String*)Unit
scala> val arr = Array("What's", "up", "doc?")
arr: Array[String] = Array(What's, up, doc?)
scala> echo(arr)
<console>:14: error: type mismatch;
found : Array[String]
required: String
echo(arr)
scala> echo(arr: _ *)
What's
up
doc?
Run Code Online (Sandbox Code Playgroud)
这种表示法arr:_*告诉编译器将arr的每个元素作为自己的参数传递给它echo,而不是将它们全部作为单个参数传递.
| 归档时间: |
|
| 查看次数: |
2343 次 |
| 最近记录: |