如果不是空的话,Kotlin设置为空

时间:2016-09-20 00:22:02

标签: null kotlin

Kotlin中是否有一个成语用于将变量设置为null(如果它尚未为空)?比语言更令人愉悦的东西:

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

3 个答案:

答案 0 :(得分:4)

您可以使用execute if not null idiom

test?.let { test = null }

答案 1 :(得分:3)

只需为本地变量指定null:

test = null

如果它不为null - 则为此变量赋值null。 如果变量为null - 您只需为其赋值null,因此没有任何更改。

答案 2 :(得分:1)

I came up with this extensions which makes this simpler:

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