Junior — Middle
Kotlin'de 'by lazy' özelliğinin rolü nedir ve hangi senaryolarda kullanımı uygundur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de, by lazy modifiyeri ile tanımlanan özellik tembel (lazy) olarak başlatılır — yani, değeri, özelliğe ilk erişildiğinde hesaplanır, nesne oluşturulurken değil. Bu, kaynak yoğun başlatma gerektiren veya her zaman gerek olmayan durumlar için faydalıdır.
Kullanım örneği:
val heavyResource by lazy {
println("Başlatma")
"Sonuç"
}
fun main() {
println("Erişimden önce")
println(heavyResource) // Burada başlatma gerçekleşir
println(heavyResource) // Tekrar başlatma olmaz
}
Kullanım senaryoları:
- Her zaman ihtiyaç duyulmayan nesnelerin ertelenmiş başlatılması.
- Performans optimizasyonu.
- Çok iş parçacıklı ortamlarda güvenli başlatma (varsayılan olarak
lazyiş parçacığı güvenlidir).