Junior — Middle
Wat is de rol van de eigenschap 'by lazy' in Kotlin en in welke scenario's is het gebruik ervan geschikt?
sobes.tech AI
Antwoord van AI
In Kotlin wordt een eigenschap met de modifier by lazy lui geïnitialiseerd — dat wil zeggen, de waarde wordt pas berekend bij de eerste toegang tot de eigenschap, niet bij het maken van het object. Dit is handig wanneer de initialisatie resource-intensief is of niet altijd nodig.
Voorbeeld van gebruik:
val heavyResource by lazy {
println("Initialisatie")
"Resultaat"
}
fun main() {
println("Voor toegang")
println(heavyResource) // Hier vindt initialisatie plaats
println(heavyResource) // Geen herhaalde initialisatie
}
Gebruiksscenario's:
- Uitgestelde initialisatie van objecten die niet altijd nodig zijn.
- Prestatieoptimalisatie.
- Veilige initialisatie in multithread-omgevingen (standaard is
lazythread-safe).