Back to questions
Junior — Middle
77
Чем отличаются методы apply и with в контексте их использования и назначения?
Companies where asked
GrowFood
Answer from AI
sobes.tech AI
В контексте Android (и Kotlin) apply и with — это функции расширения для удобной работы с объектами, но они отличаются по способу использования и возвращаемому значению.
-
apply: Выполняет блок кода с объектом как
thisи возвращает сам объект. Часто используется для инициализации объектов. -
with: Принимает объект и блок кода, выполняет блок с объектом как
this, но возвращает результат последнего выражения в блоке.
Пример:
val paint = Paint().apply {
color = Color.RED
strokeWidth = 10f
}
val length = with(paint) {
color.toString() + strokeWidth.toString()
}
Здесь apply удобен для настройки объекта, а with — для выполнения операций с объектом и получения результата.