Junior — Middle
Quel est le rôle de la propriété 'by lazy' en Kotlin et dans quels scénarios son utilisation est-elle appropriée?
sobes.tech IA
Réponse de l'IA
En Kotlin, une propriété avec le modificateur by lazy est initialisée paresseusement, c'est-à-dire que la valeur est calculée uniquement lors de la première utilisation de la propriété, et non lors de la création de l'objet. Cela est utile lorsque l'initialisation est gourmande en ressources ou pas toujours nécessaire.
Exemple d'utilisation :
val heavyResource by lazy {
println("Initialisation")
"Résultat"
}
fun main() {
println("Avant l'accès")
println(heavyResource) // L'initialisation se produit ici
println(heavyResource) // Pas d'initialisation répétée
}
Scénarios d'utilisation :
- Initialisation différée d'objets qui ne sont pas toujours nécessaires.
- Optimisation des performances.
- Initialisation sûre dans un environnement multithread (par défaut,
lazyest thread-safe).