Kotlin Null Safety
Working with nullable types in Kotlin
Nullable Types
var name: String? = "John" # nullable String
name = null # can assign null
var age: Int = 25 # non-nullable Int
// age = null // ERROR: cannot be null
Safe Call Operator
val length = name?.length # returns null if name is null
val upper = name?.uppercase() # safe method call
Elvis Operator
val displayName = name ?: "Guest" # use default if null
val len = name?.length ?: 0 # chain with safe call
Not-Null Assertion
val len = name!!.length # throws exception if null
Safe Cast
val str: String? = value as? String # returns null if cast fails
Let Function
name?.let { # execute only if not null
println(it.length) # it refers to name
}