Sobes.tech
Junior — Middle

Kullanım ve amaç açısından apply ve with yöntemleri arasındaki farklar nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

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