Junior — Middle
Care este rolul proprietății 'by lazy' în Kotlin și în ce scenarii este potrivită utilizarea acesteia?
sobes.tech AI
Răspuns de la AI
În Kotlin, o proprietate cu modificatorul by lazy este inițializată leneș, adică valoarea este calculată doar la prima accesare a proprietății, nu la crearea obiectului. Acest lucru este util atunci când inițializarea consumă resurse sau nu este întotdeauna necesară.
Exemplu de utilizare:
val heavyResource by lazy {
println("Inițializare")
"Rezultat"
}
fun main() {
println("Înainte de acces")
println(heavyResource) // Aici are loc inițializarea
println(heavyResource) // Nu are loc o inițializare repetată
}
Scenarii de utilizare:
- Inițializare întârziată a obiectelor care nu sunt întotdeauna necesare.
- Optimizarea performanței.
- Inițializare sigură în mediile multi-thread (implicit,
lazyeste sigur pentru fire).