a.run是否和kotlin中的.run一样?
如果一个variables在Kotlin中是空的,我们需要做一个安全调用,或者。 用于显式调用。
当我试图从可变空间variables中使用一些扩展(比如run或let)时,我注意到.run是好的,IDE没有抱怨,通常我会收到一个警告,提醒我这不是一个安全调用。
是否对kotlin中的.run {}和.run {}有所影响? 如果我使用.run {},它被认为是无效的安全吗?
var a? = "..." a?.run{} a.run{}
你需要安全地处理null的地方。
要么访问a
:
a?.run { }
或者当访问this
里面run
a
:
a.run { this?.toSomething() }
使用String?
作为一个例子,这两个都打印null
和编译器都可以两个:
val x: String? = null println(x.run { this?.toUpperCase() }) // prints null, type is String? println(x?.run { this.toUpperCase() }) // prints null, type is String?