Implementar verificación nula en Kotlin
-
Use declaraciones condicionales para implementar una comprobación
Null
en Kotlin -
Use llamadas seguras para implementar una verificación
Null
en Kotlin -
Utilice el operador Elvis para implementar una verificación
Null
en Kotlin
Varios tipos primitivos no aceptan null
y arrojan errores. Los errores cometidos con referencias null
pueden causar fallas en la aplicación o incluso provocar fallas en el sistema; por lo tanto, es vital comprobar las referencias null
antes de ejecutar un programa.
Kotlin nos permite verificar null
de varias maneras. Este artículo le enseñará cómo verificar si hay null
en Kotlin y evitar errores de NullPointerException
.
Use declaraciones condicionales para implementar una comprobación Null
en Kotlin
La forma más fácil de verificar null
en Kotlin es mediante declaraciones condicionales. Aquí, podemos usar operadores condicionales ==
o !=
y ejecutar las declaraciones condicionales en consecuencia.
También podemos usar ===
en lugar de ==
y !==
en lugar de !=
. Una igualdad estructural x == nula
se traduce de todos modos a igualdad referencial x === null
; por lo tanto, no hace mucha diferencia si usa ==
o ===
.
Aquí hay un ejemplo para mostrar el uso de declaraciones condicionales para el control null
en Kotlin.
fun main() {
val x: String? = "Android"
if (x != null && x.length > 0) {
print("This is not null, its length is: ${x.length}")
} else {
print("This is a null string!")
}
}
Producción:
Haga clic aquí para ver la demostración del ejemplo.
Ahora, si cambiamos el valor a null
, dará la otra salida.
fun main() {
val x: String? = null
if (x != null && x.length > 0) {
print("This is not null, its length is: ${x.length}")
} else {
print("This is a null string!")
}
}
Producción:
Haga clic aquí para ver la demostración del ejemplo.
Las declaraciones condicionales funcionan solo si la variable se declara usando la palabra clave val
. La palabra clave val
hace que la palabra sea inmutable.
Si usamos una variable var
, hay posibilidades de que el valor de la variable cambie después de verificar las referencias null
.
Use llamadas seguras para implementar una verificación Null
en Kotlin
Las llamadas seguras son otra opción para acceder a las propiedades anulables para la verificación null
en Kotlin. Podemos usar el operador de llamada segura ?.
para comprobar el resultado de una expresión.
Según los resultados de la expresión, podemos ejecutar las declaraciones adicionales.
Aquí hay un ejemplo.
fun main() {
val v = "Android"
val x: String? = null
println(v?.length)
println(x?.length)
}
Producción:
Haga clic aquí para ver la demostración del ejemplo.
Las llamadas seguras son especialmente útiles para crear cadenas. Por ejemplo, podemos escribir:
a?.b?.c?.d
En el ejemplo anterior, si a
no es null
, se moverá a b
. Si b
no es null
, se moverá a c
, y si c
no es null
, se moverá a d
.
Cada vez que el compilador encuentra un valor null
, deja de ejecutarse y devuelve null
.
Use llamadas seguras con la función let
para manejar el Null
en Kotlin
Normalmente, si uno de los valores de una lista es null
, el compilador devuelve null
. Sin embargo, podemos combinar la función let
con llamadas seguras para trabajar solo en valores no null
de una lista.
Ejemplo:
fun main() {
val myList: List<String?> = listOf("David", "Virat", "Steve", null)
for (i in myList) {
i?.let { println(it) } // prints only non-null values
}
}
Producción:
Haga clic aquí para ver la demostración del ejemplo.
Utilice el operador Elvis para implementar una verificación Null
en Kotlin
Otra excelente opción para la verificación null
de Kotlin es usar el operador de Elvis ?:
. Devolverá un valor no null
o predeterminado si encuentra un valor null
en las referencias.
Hay dos expresiones: a la izquierda ya la derecha del operador Elvis. Si el valor de la expresión de la izquierda no es null
, el operador devuelve el valor, pero si la expresión de la izquierda es null
, el operador de Elvis devuelve el valor de la expresión del lado derecho.
La clave aquí es que el operador Elvis solo ejecutará la expresión de la derecha si la expresión de la izquierda es Null
.
Ejemplo:
fun main(args: Array<String>) {
val i: String? = null
val j: String = i ?: "Welcome! This is Kotlin Programming."
// This print statement uses the Elvis operator
println(i ?: j)
}
Producción:
Haga clic aquí para ver la demostración del ejemplo.
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn