Last active
December 23, 2021 08:03
-
-
Save arsalankhan994/67479bf8c6e350ce4e445e289cbc5193 to your computer and use it in GitHub Desktop.
Handle Null Objects - Kotlin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fun main() { | |
val stringObject: String = "Erselan Khan" | |
val stringNullObject: String? = null | |
/* | |
First start with non-null object | |
*/ | |
val value = stringObject.equals("Erselan Khan") | |
println("vale: $value") | |
/* | |
1. Handle null object using try/catch | |
*/ | |
try { | |
stringNullObject!!.length | |
} catch (exception: NullPointerException) { | |
println("NullPointerException") | |
} | |
/* | |
2. Handle null object using if check | |
*/ | |
if (stringNullObject != null) { | |
println("stringNullObject: $stringNullObject") | |
} else { | |
println("stringNullObject is null") | |
} | |
/* | |
3. Handle null object using safe calls | |
*/ | |
println(stringNullObject?.length) | |
/* | |
4. Handle null object using Elvis operator | |
*/ | |
val length = stringNullObject?.length ?: -1 | |
println("length is: $length") | |
/* | |
5. Handle null object using extension function | |
*/ | |
if (!stringNullObject.isNullOrBlank()) { | |
println("stringNullObject: $stringNullObject") | |
} else { | |
println("stringNullObject is null") | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment