Implementar verificación nula en Kotlin

Kailash Vaviya 15 febrero 2024
  1. Use declaraciones condicionales para implementar una comprobación Null en Kotlin
  2. Use llamadas seguras para implementar una verificación Null en Kotlin
  3. Utilice el operador Elvis para implementar una verificación Null en Kotlin
Implementar verificación nula 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:

Uso de declaraciones condicionales para Kotlin Null Check

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:

Uso de declaraciones condicionales para verificar nulo en Kotlin

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:

Uso de llamadas seguras para Kotlin Null Check

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:

Uso de la función let con llamadas seguras para Kotlin Null Check

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:

Uso del operador Elvis para Kotlin Null Check

Haga clic aquí para ver la demostración del ejemplo.

Kailash Vaviya avatar Kailash Vaviya avatar

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