Sobes.tech
Junior — Middle

În ce context se face apelul funcției lazy()?

sobes.tech AI

Răspuns de la AI

Funcția lazy() în Android (cel mai adesea în contextul Kotlin) este utilizată pentru inițializarea întârziată a variabilelor. Apelul funcției lazy() are loc în momentul definirii proprietății, dar lambda transmisă în lazy se execută doar la prima accesare a acesteia. Astfel, codul din interiorul lazy se execută în contextul primei accesări a valorii, nu la crearea obiectului sau a clasei.

Exemplu:

val myValue: String by lazy {
    println("Calculăm valoarea")
    "Salut, Lume!"
}

fun main() {
    println("Înainte de prima accesare")
    println(myValue) // Aici se apelează lambda din interiorul lazy
    println(myValue) // Valoarea este deja calculată, lambda nu se mai apelează
}

În acest exemplu, lambda din interiorul lazy va fi executată o singură dată, la prima accesare a myValue.