#Kata ¿Cuál es la diferencia entre Null, null y NIL en Scala?.

En este post te voy a explicar la diferencia entre Null, null y Nil en Scala.

Null y null.

Null es un tipo de dato, la única instancia accesible de Null es la que usas con la palabra «null». No hay una manera en la que puedes utilizar el tipo Null directamente.

Nil.

Nil es un objeto estático que te sirve para indicar que una colección o agrupación está vacía. Por defecto, algunas colecciones sin valores son equivalentes a Nil cuando no especificas elementos o se vacían. No todas las colecciones vacías son equivalentes a Nil.

¿Cuándo emplear null?

La respuesta corta es: nunca. Al ser un lenguaje funcional Scala, por convención, es preferible evitar el uso de referencias nulas. Nada te impide inicializar variables en null, puedes, pero no deberías hacerlo. En su lugar puedes escribir Option, Some y None.

No existen las estructuras nulleables en Scala, si necesitas definir estados sin asignar en enteros, booleanos, double o cualquier tipo por valor necesitaras hacerlo con una monad Option.

Gustavo Sánchez
Últimas entradas de Gustavo Sánchez (ver todo)

Soy especialista en escribir software de calidad. Mediante el uso de marcos de trabajo, técnicas y automatización de procesos he podido reducir los costes operativos de los sistemas de la empresa. Sistemas confiables y adaptables producen clientes felices.