参见英文答案 >
What does `:_*` (colon underscore star) do in Scala? 3个
在Scala代码中
val s = Set(List(1,2,3).toSeq:_*)
toSeq:_ *语法如何工作?我知道代码的作用,我知道Seq做了什么,我理解List(1,2,3).toSeq:Seq [Int].是seq:_ *一个特例?
最佳答案 toSeq在这里没有完成任何事情,应该省略.以下是等效的:
Set(List(1, 2, 3): _*)
(或者甚至更好,只需编写List(1,2,3).toSet.)
既然你说你知道代码的作用,我会假设你理解_ *类型的注释,它将列表标记为序列参数(如果没有,请参见the language specification的第4.6.2节).这将适用于任何Seq,包括List,因此使用toSeq显式转换列表只是额外的混乱.