Sobes.tech
Назад к вопросам
Junior — Middle
76

Чем отличаются методы apply и with в контексте их использования и назначения?

Компании, где спрашивали
GrowFood

Ответ от нейросети

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 — для выполнения операций с объектом и получения результата.