Categories: Tipos

¿Null? Adiós al NullPointerException

Share

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:

Recent Posts

  • Curso Interactivo

Variables

En esta lección aprenderás a declarar variables y los tipos básicos.

5 años ago
  • Curso Interactivo

Introducción al Curso Interactivo

La mejor forma de aprender algo en esta vida es a base de practicar. Espero…

5 años ago
  • Coroutines

Iniciar una Corrutina

La principal forma de iniciar una corrutina en Kotlin es con el coroutine builder launch…

5 años ago
  • Coroutines

Coroutines

Las coroutines en Kotlin vienen a tratar de solucionar todos los problemas y dificultades que…

5 años ago
  • Funciones Estándar

Resumen Elección de Modismo

Con este esquema te puedes guiar a la hora de elegir el modismo o función…

5 años ago
  • Funciones Estándar

With

El último que queda por ver es with qué en inglés significa "con". Por lo…

5 años ago