使用 apply 初始化对象或实现方法链接
apply
的文档说明如下:
使用
this
值作为接收器调用指定的功能块并返回this
值。
虽然 kdoc 不是那么有用,但 apply
确实是一个有用的功能。通俗地说,apply
建立了一个范围,其中 this
被绑定到你称之为 apply
的对象。这使你可以在需要在对象上调用多个方法时备用一些代码,稍后将返回该对象。例:
File(dir).apply { mkdirs() }
这和写这个是一样的:
fun makeDir(String path): File {
val result = new File(path)
result.mkdirs()
return result
}