getOrElse

inline fun <T> Optional<out T & Any>.getOrElse(defaultValue: () -> T): T(source)

Returns this Optional's value if present, or otherwise the result of the defaultValue function.

Since Kotlin

1.8

Samples

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
}