这种材料可能有用:http ://www.baeldung.com/kotlin-null-safety
您可以搜索 let() 和 run() 方法。
let() 方法
要仅在引用包含不可为空的值时执行操作,我们可以使用 let 运算符。
假设我们有一个值列表,并且该列表中还有一个空值:
val firstName = "Tom"
val secondName = "Michael" val names:
List<String?> = listOf(firstName, null, secondName)
接下来,我们可以使用 let 函数对名称列表的每个不可为空的元素执行操作:
var res = listOf<String?>() for (item in names) {
item?.let { res = res.plus(it) } }
assertEquals(2, res.size)
assertTrue { res.contains(firstName) }
assertTrue { res.contains(secondName) }
run() 方法
Kotlin 有一个 run() 方法来对可为空的引用执行一些操作。它与 let() 非常相似,但在函数体内部,run() 方法对这个引用而不是函数参数进行操作:
var res = listOf<String?>()
for (item in names) {
item?.run{res = res.plus(this)}
}