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.