Junior — Middle
In welke context wordt de aanroep van de functie lazy() uitgevoerd?
sobes.tech AI
Antwoord van AI
De functie lazy() in Android (meestal in de context van Kotlin) wordt gebruikt voor lazy initialisatie van variabelen. De aanroep van de functie lazy() gebeurt op het moment dat de eigenschap wordt gedefinieerd, maar de lambda die aan lazy wordt doorgegeven, wordt alleen uitgevoerd bij de eerste toegang tot die eigenschap. Op deze manier wordt de code binnen lazy uitgevoerd in de context van de eerste toegang tot de waarde, en niet bij het maken van het object of de klasse.
Voorbeeld:
val myValue: String by lazy {
println("Waarde wordt berekend")
"Hallo, Wereld!"
}
fun main() {
println("Voor de eerste toegang")
println(myValue) // Hier wordt de lambda binnen lazy aangeroepen
println(myValue) // De waarde is al berekend, de lambda wordt niet opnieuw aangeroepen
}
In dit voorbeeld wordt de lambda binnen lazy slechts één keer uitgevoerd bij de eerste toegang tot myValue.