Qué es la seguridad frente a valores nulos
Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 12 de 93.
En muchos lenguajes de programación, uno de los errores más comunes es intentar acceder a algo que no existe: un valor null. Esto ocurre cuando una variable contiene «nada» en lugar de datos reales.
Imagina pedir el nombre de un usuario, pero que nunca haya proporcionado uno. Si tu código intenta usar ese nombre vacío sin comprobarlo primero, tu programa se bloquea. Este tipo de error es tan común que se ha denominado el «error de los mil millones de dólares».
La solución de Kotlin: seguridad frente a valores nulos
Kotlin fue diseñado para eliminar estos fallos. De forma predeterminada, las variables en Kotlin no pueden contener valores nulos:
fun main() {
var name: String = "Alice"
name = null // ¡Error! No compilará
}El compilador detecta este problema antes de que tu código siquiera se ejecute. Esto es lo que hace que Kotlin sea «seguro frente a null»: el propio lenguaje evita que uses accidentalmente null donde no debería.
En las próximas lecciones, aprenderás cómo Kotlin te permite trabajar con valores que podrían ser nulos cuando realmente los necesitas, manteniendo al mismo tiempo tu código a salvo de errores.
Desafío
FácilDeclara dos variables que no admitan valores nulos para demostrar la seguridad frente a valores nulos de Kotlin:
- Una variable
Stringllamadausernamecon el valor"Kotlin" - Una variable
Intllamadascorecon el valor100
Después imprime ambos valores en líneas separadas usando println().
Recuerda: En Kotlin, los tipos regulares (que no admiten valores nulos) no pueden contener valores
null. El compilador garantiza que tus variables siempre contengan datos válidos.
Pruébalo tú mismo
fun main() {
// TODO: Escribe tu código a continuación
// Declara una variable String no anulable llamada 'username' con el valor "Kotlin"
// Declara una variable Int no anulable llamada 'score' con el valor 100
// Imprime ambos valores en líneas separadas usando println()
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación aumentadaOperadores de comparaciónRepaso: matemáticas simples7Entrada y salida básicas
Función PrintlnPlantillas de cadenasEntrada con ReadLineConversión de tiposRepaso - Años hasta la jubilaciónRepaso - Verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoArgumentos con nombreValores predeterminadosFunciones de una sola expresiónRepaso - Función SigmaRepaso - Función de validación2Variables
Val frente a VarInferencia de tiposNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Ternario con expresión ifRepaso: lógica simple8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Nullabilidad
Qué es la seguridad frente a valores nulosTipos anulablesOperador de llamada seguraOperador ElvisConceptos básicos de retos de funcionesAfirmación de no nulidadRepaso: acceso seguro6Toma de decisiones
Sentencia ifIf - ElseIf como expresiónExpresión whenWhen con rangosRepaso - Calculadora simple9Bucles
Bucle ForBucle WhileBucle Do-WhileBreakContinueRangos en buclesBucle anidadoRepaso - FactorialRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Kotlin