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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。