该网站说
“返回单元的方法的构建器样式用法”
fun arrayOfMinusOnes(size: Int): IntArray {
return IntArray(size).apply { fill(-1) }
}
Run Code Online (Sandbox Code Playgroud)
由于函数“apply”返回的是泛型类型,我认为Unit和Java中的void一样,所以使用void方法作为builder-style,没有意义。
它试图说明的一点是,如果您只是使用传统的 Java 构建器样式,如下所示:
return IntArray(size)
.fill(-1)
Run Code Online (Sandbox Code Playgroud)
那么它就不会编译,因为它的类型是Unit
,而不是IntArray
。所以传统上,你必须做这样的事情:
val ret = IntArray(size)
ret.fill(-1)
return ret
Run Code Online (Sandbox Code Playgroud)
apply
使您能够避免这种情况,因为返回类型仍然是类型IntArray
(或T
,一般情况下)。
归档时间: |
|
查看次数: |
249 次 |
最近记录: |