Spec-Zone.ru › Kotlin 2

firstNotNullOf

kotlin-stdlib/kotlin.text/firstNotNullOf

Начиная с Kotlin: 1.5

inline fun <R : Any> CharSequence.firstNotNullOf(transform: (Char) -> R?): R

Возвращает первое ненулевое значение, полученное функцией transform, применённой к символам этой последовательности символов в порядке итерации, или выбрасывает NoSuchElementException, если ненулевое значение не было получено.

Примеры

import kotlin.math.*
import kotlin.test.*

fun main() { 
   //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
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/first-not-null-of.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API