我们可以做的
val obj = Obj()
with (obj) {
objMethod1()
objMethod2()
}
但是有办法吗?
val obj = with(Obj()) {
objMethod1()
objMethod2()
}
解决创建一个对象并对其调用一些方法以初始化其状态的常见情况。
最佳答案
当然,您可以使用 .apply { }
stdlib函数,该函数
public inline fun <T> T.apply(block: T.() -> Unit): T { block(); return this }
用法示例:
val obj = Obj().apply {
objMethod1()
objMethod2()
}
您可以在许多其他Kotlin惯用语here in the reference中找到它。