use*_*221 47 scala syntactic-sugar
我刚在网上注意到这个构造:
val list = List(someCollection: _*)
Run Code Online (Sandbox Code Playgroud)
什么_*意思?这是一些方法调用的语法糖吗?我的自定义类应满足哪些约束才能利用这种语法糖?
Kev*_*ght 70
通常,:表示法用于类型归属,强制编译器将值视为某种特定类型.这不是很一样的铸件.
val b = 1 : Byte
val f = 1 : Float
val d = 1 : Double
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将归因于特殊的varargs类型.这反映了用于声明varargs参数的星号表示法,可用于子类的任何类型的变量Seq[T]:
def f(args: String*) = ... //varargs parameter, use as an Array[String]
val list = List("a", "b", "c")
f(list : _*)
Run Code Online (Sandbox Code Playgroud)
dav*_*k01 17
这是用于爆炸数组的scala语法.某些函数采用可变数量的参数并传入一个数组,您需要附加: _*到数组参数.
| 归档时间: |
|
| 查看次数: |
18921 次 |
| 最近记录: |