firstNotNullOfOrNull
所在位置是kotlin.sequences.firstNotNullOfOrNull
,其相关用法介绍如下。
用法:
返回由 transform 函数生成的第一个非空值,该函数按迭代顺序应用于此序列的元素,如果没有生成非空值,则返回 null
。
操作是 terminal
。
例子:
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
data class Rectangle(val height: Int, val width: Int) {
val area: Int get() = height * width
}
val rectangles = listOf(
Rectangle(3, 4),
Rectangle(1, 8),
Rectangle(6, 3),
Rectangle(4, 3),
Rectangle(5, 7)
)
val largeArea = rectangles.firstNotNullOf { it.area.takeIf { area -> area >= 15 } }
val largeAreaOrNull = rectangles.firstNotNullOfOrNull { it.area.takeIf { area -> area >= 15 } }
println(largeArea) // 18
println(largeAreaOrNull) // 18
// val evenLargerArea = rectangles.firstNotNullOf { it.area.takeIf { area -> area >= 50 } } // will fail with NoSuchElementException
val evenLargerAreaOrNull = rectangles.firstNotNullOfOrNull { it.area.takeIf { area -> area >= 50 } }
println(evenLargerAreaOrNull) // null
//sampleEnd
}
输出:
18 18 null
相关用法
- Kotlin firstNotNullOf用法及代码示例
- Kotlin filterNot用法及代码示例
- Kotlin filterNotTo用法及代码示例
- Kotlin filterKeys用法及代码示例
- Kotlin filterTo用法及代码示例
- Kotlin filterNotNull用法及代码示例
- Kotlin filterIsInstance用法及代码示例
- Kotlin filterIsInstanceTo用法及代码示例
- Kotlin findLast用法及代码示例
- Kotlin find用法及代码示例
- Kotlin filterNotNullTo用法及代码示例
- Kotlin filterIndexedTo用法及代码示例
- Kotlin filterValues用法及代码示例
- Kotlin filter用法及代码示例
- Kotlin filterIndexed用法及代码示例
- Kotlin flatten用法及代码示例
- Kotlin forEach用法及代码示例
- Kotlin flatMap用法及代码示例
- Kotlin fold用法及代码示例
- Kotlin foldTo用法及代码示例
- Kotlin flatMapIndexed用法及代码示例
- Kotlin associateBy用法及代码示例
- Kotlin all用法及代码示例
- Kotlin map用法及代码示例
- Kotlin reduceRight用法及代码示例
注:本文由纯净天空筛选整理自kotlinlang.org大神的英文原创作品 kotlin.sequences.firstNotNullOfOrNull。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。