Null Safety Patterns
Require Not Null
Guard a nullable input before treating it as required.
Require Not Null
RequireNotNull.kt
fun describe(input: String?): String {
if (input == null) {
return "missing"
}
val required = requireNotNull(input)
return "required:${required.length}"
}
fun main() {
val input: String? =
val result = describe(input)
println("input=${input ?: "none"}")
println("result=$result")
}
fun describe(input: String?): String {
if (input == null) {
return "missing"
}
val required = requireNotNull(input)
return "required:${required.length}"
}
fun main() {
val input: String? =
val result = describe(input)
println("input=${input ?: "none"}")
println("result=$result")
}
fun describe(input: String?): String {
if (input == null) {
return "missing"
}
val required = requireNotNull(input)
return "required:${required.length}"
}
fun main() {
val input: String? =
val result = describe(input)
println("input=${input ?: "none"}")
println("result=$result")
}
require
`requireNotNull` is useful after code has decided that a missing value is invalid.