W3cubDocs

/Kotlin

checkNotNull

inline fun <T : Any> checkNotNull(value: T?): T

Throws an IllegalStateException if the value is null. Otherwise returns the not null value.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
var someState: String? = null
fun getStateValue(): String {
    val state = checkNotNull(someState) { "State must be set beforehand" }
    check(state.isNotEmpty()) { "State must be non-empty" }
    // ...
    return state
}

assertFailsWith<IllegalStateException> { getStateValue() }

someState = ""
assertFailsWith<IllegalStateException> { getStateValue() }

someState = "non-empty-state"
println(getStateValue()) // non-empty-state
//sampleEnd
}
inline fun <T : Any> checkNotNull(
    value: T?, 
    lazyMessage: () -> Any
): T

Throws an IllegalStateException with the result of calling lazyMessage if the value is null. Otherwise returns the not null value.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
var someState: String? = null
fun getStateValue(): String {
    val state = checkNotNull(someState) { "State must be set beforehand" }
    check(state.isNotEmpty()) { "State must be non-empty" }
    // ...
    return state
}

assertFailsWith<IllegalStateException> { getStateValue() }

someState = ""
assertFailsWith<IllegalStateException> { getStateValue() }

someState = "non-empty-state"
println(getStateValue()) // non-empty-state
//sampleEnd
}

© 2010–2017 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/check-not-null.html