Translate
miércoles, 21 de noviembre de 2018
Luchando contra NullPointerException con Kotlin
La excepción que más se encuentra en los logs de la aplicaciones Java es NullPointerException, y esto es esperable ya que java no trae mecanismos de chequeo de nulos. Solo el if, pero es muy manual y al no ser null un objeto, se hace bastante difícil tener que checkear nulos con un if todo el tiempo.
En cambio kotlin aprendió de esto y ha implementado varios mecanismos para prevenir los NullPointerException.
El primero, no podemos asignar null a un tipo común, no compila:
var a: String = "abc"
a = null // error de compilación
Tenemos que expresamente indicar que este tipo permite nulos :
var b: String? = "abc"
b = null // ok
print(b)
Ahora bien si nosotros llamamos a un método de b y no comprobamos que no sea nulo, no funciona:
val l = b.length // error: variable 'b' can be null
Tira error de compilación. Nosotros debemos comprobar que esto no sea nulo:
val l = if (b != null) b.length else -1
Bueno, hasta aquí un primer paso, en próximo post seguimos con los operadores antinull.