Sobes.tech
Junior — Middle

Kotlin'de const val ve val anahtar kelimeleri arasında ne farklar vardır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de val anahtar kelimesi, değiştirilemez bir değişkeni (yalnızca okunabilir) ifade eder; değeri bir kez başlatma sırasında atanabilir, ancak değer kendisi çalışma zamanında hesaplanabilir.

const val ise derleme zamanında sabit olan, temel tür veya dize olması gereken ve derleme aşamasında bilinen bir değerle başlatılması gereken bir sabittir. Bu tür sabitler, örneğin, anotasyonlarda veya sabitler gerektiren parametrelerde kullanılabilir.

Ana farklar:

  • const val her zaman statik bir sabittir, sınıf seviyesinde erişilebilir (sadece nesnelerde veya üst seviyede).
  • val ise normal, değiştirilemez bir özelliktir ve dinamik olarak hesaplanabilir.

Örnek:

const val MAX_COUNT = 10 // derleme zamanında sabit
val currentTime = System.currentTimeMillis() // çalışma zamanında hesaplanan değer