Kotlin设置为空如果不为空

在Kotlin中是否有一个习惯用法,如果变量不为空,则将其设置为null? 更符合语义的东西比:

var test: String? = null if(test != null) test = null 

你可以使用execute如果不是null成语 :

 test?.let { test = null } 

只需将null分配给本地变量:

 test = 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 */ }