Назад к вопросам
Junior
117
questionbank

Каково назначение функции 'apply' в Kotlin?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

Функция apply относится к стандартным scoped functions в Kotlin.

Назначение:

  • Выполняет блок кода на вызывающем объекте.
  • Возвращает сам объект после применения блока.
  • Внутри блока объект доступен как this.

Используется для:

  • Конфигурации и инициализации объектов, особенно тех, у которых много свойств для установки.
  • Повышения читаемости кода, позволяя цепочечно вызывать методы или устанавливать свойства на одном объекте.

Пример:

// Создаем объект и настраиваем его с помощью apply
val textView = TextView(context).apply {
    text = "Hello, world!"
    textSize = 16f
    setTextColor(Color.BLACK)
    setPadding(10, 10, 10, 10)
}

// textView теперь настроенный экземпляр TextView

Ключевое отличие от let, run, with:

Функция Receiver в блоке Возвращаемое значение
apply this (объект) Объект
let it (объект) Результат последнего выражения в блоке
run (as extension) this (объект) Результат последнего выражения в блоке
with this (объект) Результат последнего выражения в блоке