在Kotlin语言中,有没有一种习语可以在变量不为空时将其设置为null?比以下代码更语义化的东西:
var test: String? = null
if(test != null) test = null
只需将局部变量赋值为null:
test = null
如果它不是空的,你将把null赋给这个变量。 如果变量为空,你只需要将null赋值给它,因此什么也没有改变。
我想出了这个扩展程序,使得这个过程更加简单:
inline fun <T, R> T.letThenNull(block: (T) -> R): T? { block(this); return null }
val test: Any? = null
...
test = test?.letThenNull { /* do something with test */ }
null
,则会进行赋值,但它只是将变量设置为相同的值:null
。 - mfulton26