En la tabla de modismos vemos que apply recibe un objeto (es decir, no tenemos que usar it) y devuelve un objeto, por lo que es ideal para aplicar cambios fácilmente al objeto original.

let also run apply with modismos kotlin
Tabla de modismos de Kotlin

Vamos entonces a hacer un resumen de lo que sabemos basándonos en el significado del propio modismo:

  • let vendría a ser “permíteme…” Por eso lo usaremos generalmente para nulos.
  • also significa “además”. Por eso lo utilizaremos para efectos secundarios
  • apply es “aplicar”. Eso sumado a que devuelve un objeto parece lógico que su uso sea modificar las propiedades de un objeto.

Por ejemplo, tenemos la siguiente data class de un círculo con las propiedades radio y color:

Para cambiar sus propiedades podríamos hacer esto:

Sin embargo vemos que tendríamos que poner dos veces circle. Vamos a ver como quedaría utilizando apply.

Parece que estuvieras leyendo un texto en inglés en el que indicas:

  • Creamos un circulo con 2 y rojo como propiedades y una vez hecho lo mostramos por pantalla.
  • Al circulo le aplicamos las siguientes propiedades 3 y azul, y además lo mostramos por pantalla.

Es una buena forma de sustituir al patrón Builder.


Enlaces de interés:

Menú