Sobes.tech
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 lazy iş parçacığı güvenlidir).