Sobes.tech
Junior — Middle

¿En qué se diferencian los métodos apply y with en cuanto a su uso y propósito?

sobes.tech AI

Respuesta de la IA

En el contexto de Android (y Kotlin), apply y with son funciones de extensión para facilitar el trabajo con objetos, pero difieren en la forma de usarlas y en el valor que devuelven.

  • apply: Ejecuta un bloque de código con el objeto como this y devuelve el propio objeto. Se usa a menudo para inicializar objetos.

  • with: Toma un objeto y un bloque de código, ejecuta el bloque con el objeto como this, pero devuelve el resultado de la última expresión en el bloque.

Ejemplo:

val paint = Paint().apply {
    color = Color.RED
    strokeWidth = 10f
}

val length = with(paint) {
    color.toString() + strokeWidth.toString()
}

Aquí, apply es útil para configurar el objeto, y with para realizar operaciones con el objeto y obtener un resultado.