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
thisy 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.