Junior — Middle
Quais são as diferenças entre os métodos apply e with em termos de uso e finalidade?
sobes.tech IA
Resposta da IA
No contexto do Android (e Kotlin), apply e with são funções de extensão para facilitar o trabalho com objetos, mas diferem na forma de uso e no valor retornado.
-
apply: Executa um bloco de código com o objeto como
thise retorna o próprio objeto. Frequentemente usado para inicializar objetos. -
with: Aceita um objeto e um bloco de código, executa o bloco com o objeto como
this, mas retorna o resultado da última expressão no bloco.
Exemplo:
val paint = Paint().apply {
color = Color.RED
strokeWidth = 10f
}
val length = with(paint) {
color.toString() + strokeWidth.toString()
}
Aqui, apply é útil para configurar o objeto, e with para realizar operações com o objeto e obter um resultado.