get Or Else
Начиная с Kotlin: 1.8
inline fun <T> Optional<out T & Any>.getOrElse(defaultValue: () -> T): T
Возвращает значение этого Optional, если оно присутствует, в противном случае возвращает результат функции defaultValue.
Примеры
import java.util.Optional
import kotlin.jvm.optionals.*
fun main() {
//sampleStart
val user = Optional.of("Vlad Tepes")
val stranger = Optional.empty<String>()
val username = user.getOrElse {
println("This block is never called, optional has some value")
"Anonymous"
}
println(username) // Vlad Tepes
val anonymousUsername = stranger.getOrElse {
println("Computing anonymous username")
"Anonymous"
}
println(anonymousUsername) // Anonymous
//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.jvm.optionals/get-or-else.html