Kotlin nos proporciona una seríe de herramientas para tratar con null y así combatir uno de los problemas más recurrentes en Java: NullPointerException
.
A diferencia de Java donde todo puede ser nulo, Kotlin comprobará durante el tiempo de compilación si algo es nulo y si lo es, no compilará.
fun main() { //sampleStart val text: String = null // No compilará //sampleEnd }
Si algo puede ser nulo, tenemos que ponerlo de forma explícita añadiendo ?
al tipo.
fun main() { //sampleStart val text: String? = null //sampleEnd }
Cada vez que queramos usar la variable text
, en vez de tener que usar el clásico if (text != null)
podemos utilizar ?
, lo que se conoce como llamada segura. Con el siguiente código, si text no fuera nulo, mostraría su longitud, y si es nulo, devolverá null
.
fun main() { //sampleStart val text: String? = null println(text?.length) // 'null' //sampleEnd }
Otra solución al if... else...
sería utilizar el Elvis operator ?:
.
fun main() { //sampleStart val text: String? = null println(text?.length ?: "Else...") // 'Else...' //sampleEnd }
También es muy común utilizarlo con .let
ya que permite hacer de forma segura cualquier acción con la variable que puede ser nula. En el siguiente bloque como text
es nulo no mostrará nada por pantalla.
fun main() { //sampleStart val text: String? = null text?.let { println(it.length) } //sampleEnd }
Con esto concluiríamos con el apartado Tipos.
Enlaces de interés:
En esta lección aprenderás a declarar variables y los tipos básicos.
La mejor forma de aprender algo en esta vida es a base de practicar. Espero…
La principal forma de iniciar una corrutina en Kotlin es con el coroutine builder launch…
Las coroutines en Kotlin vienen a tratar de solucionar todos los problemas y dificultades que…
Con este esquema te puedes guiar a la hora de elegir el modismo o función…
El último que queda por ver es with qué en inglés significa "con". Por lo…