我刚刚在网络上的某个地方注意到了这个构造:
val list = List(someCollection: _*)
什么是_*
意思是?这是某些方法调用的语法糖吗?我的自定义类应该满足哪些约束才能利用此语法糖?
一般来说,:
表示法用于类型归属,强制编译器将值视为某种特定类型。这不是quite与铸造相同。
val b = 1 : Byte
val f = 1 : Float
val d = 1 : Double
在这种情况下,您将特殊的varargs类型。这反映了用于声明 varargs 参数的星号表示法,并且可以用于子类化的任何类型的变量Seq[T]
:
def f(args: String*) = ... //varargs parameter, use as an Array[String]
val list = List("a", "b", "c")
f(list : _*)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)