我一直在使用:_*
将Seq[String]
转换为String*
,我意识到我不明白这是如何工作的。
有没有一种简单的方法来考虑这个问题?
答案 0 :(得分:7)
在幕后,String*
作为Seq[String]
传递。这只是语法糖:
def blah(ss: String*) = {...}
blah("Hi","there")
变成了
def blah(ss: Seq[String]) = {...}
blah(Seq("Hi", "there"))
和:_*
只是意味着“拿着糖,我已经得到了你需要的东西 - 一个Seq!”