Uso de la función apply para manejar tipos anulables en Kotlin

Clase 33 de 37Curso de Kotlin desde Cero

Resumen

¿Qué es la función apply y cómo se utiliza en Kotlin?

La función apply es una herramienta muy útil que permite realizar operaciones sobre una variable y devolver su valor. Esta función es especialmente práctica cuando se trata de manipular variables anulables de forma segura. A diferencia de otras funciones, como rom, no es necesario devolver explícitamente el resultado desde una lambda, ya que apply lo hace automáticamente. Además, al combinarse con un safe cast, la función apply permite trabajar con variables anulables previniendo la modificación de propiedades incorrectamente si no se les ha asignado un valor. ¡Un verdadero salvavidas para evitar errores comunes en programación!

¿Cómo usar apply en IntelliJ?

Para entender el uso de la función apply, es instructivo ver su aplicación en un entorno de desarrollo como IntelliJ. Imagina que quieres eliminar de una lista todos los elementos que contienen la palabra "Google". La función se utiliza así:

val moviles: MutableList<String> = mutableListOf("Google Pixel", "Samsung Galaxy", "Apple iPhone")

moviles.removeIf { it.contains("Google") }
println(moviles)  // Output: [Samsung Galaxy, Apple iPhone]

Aquí, el método removeIf se usa para filtrar los elementos y luego apply se ocuparía de realizar otras operaciones sin necesidad de usar this.

¿Cómo manejar listas anulables con apply?

La función apply destaca realmente al trabajar con listas anulables. En Kotlin, las listas pueden ser completamente nulas o pueden contener elementos nulos, lo cual requiere atención especial. Afortunadamente, apply simplifica esto:

var colores: MutableList<String>? = null

colores = mutableListOf("Amarillo", "Azul", "Rojo").apply {
    println("Nuestros colores son: $this")
    println("La cantidad de colores es: ${size}")
}

En este caso, la lista colores es inicializada a nulo pero puede ser asignada de una manera segura dentro del bloque apply, permitiendo manipularla sin precauciones adicionales.

¿Por qué usar la función apply es un buen consejo?

Utilizar apply es recomendable por varias razones:

  • Seguridad de nullabilidad: Facilita el manejo de tipos anulables, transformándolos en tipos no anulables de forma segura.
  • Cleaner Code: Hace el código más limpio al eliminar la necesidad de referirse explícitamente a this o disk repetidamente.
  • Compatibilidad con librerías externas: Al trabajar con librerías de Java o códigos de terceros, donde la nullabilidad es incierta, apply permite realizar modificaciones de manera controlada y consciente.

En resumen, si deseas escribir código más seguro y menos propenso a errores, especialmente al trabajar con tipos nulos, hacer de apply una práctica habitual será una gran estrategia. ¡Continúa explorando estas funciones para llevar tus capacidades de Kotlin al siguiente nivel!