¿Qué son los tipos 'nullable' en Kotlin y cómo funcionan?
sobes.tech AI
Respuesta de la IA
Los tipos anulables en Kotlin son tipos que pueden contener tanto un valor como null. Se indican explícitamente con el símbolo ? después del nombre del tipo.
El funcionamiento se basa en el sistema de tipos de Kotlin, que previene NullPointerException durante la compilación. El compilador requiere una verificación explícita de null antes de acceder a los miembros de un objeto de tipo nullable.
Las principales formas de trabajar de manera segura con tipos nullable son:
-
Verificación de
nullusandoif:fun printLength(str: String?) { if (str != null) { println(str.length) // Llamada segura después de la verificación de null } else { println("Cadena null") } } -
Operador de llamada segura (
?.): Devuelvenullsi el objeto esnull, de lo contrario, el resultado de la llamada.val safeLength: Int? = str?.length // Si str es null, safeLength será null -
Operador Elvis (
?:): Permite proporcionar un valor predeterminado en caso de que la expresión a la izquierda del operador seanull.val lengthOrDefault: Int = str?.length ?: 0 // Si str es null, lengthOrDefault será 0 -
Operador de afirmación no nula explícita (
!!): Convierte un tipo nullable en no nullable. Debe usarse con precaución, ya que lanzaráNullPointerExceptionsi el valor esnull.val assertedLength: Int = str!!.length // Lanzará NPE si str es null -
Funciones let/run/apply/also con llamada segura:
str?.let { // El código se ejecutará solo si str no es null println("Longitud de la cadena: ${it.length}") }
El sistema de tipos nullable de Kotlin aumenta significativamente la seguridad y reduce la probabilidad de NullPointerException en comparación con lenguajes donde null puede ser asignado a cualquier tipo sin una indicación explícita.