mapNotNull所在位置是kotlin.sequences.mapNotNull,其相关用法介绍如下。

用法:

fun <T, R : Any> Sequence<T>.mapNotNull(
    transform: (T) -> R?
): Sequence<R>

返回一个仅包含将给定transform 函数应用于原始序列中的每个元素的非空结果的序列。

操作是 intermediatestateless

例子:

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val strings: List<String> = listOf("12a", "45", "", "3")
val ints: List<Int> = strings.mapNotNull { it.toIntOrNull() }

println(ints) // [45, 3]
println(ints.sum()) // 48
//sampleEnd
}

输出:

[45, 3]
48