Sobes.tech
Junior — Middle

Wat zijn de verschillen tussen de sleutelwoorden const val en val in Kotlin?

sobes.tech AI

Antwoord van AI

In Kotlin, het sleutelwoord val staat voor een onveranderlijke variabele (alleen-lezen), waarvan de waarde één keer kan worden toegewezen tijdens initialisatie, maar de waarde zelf kan tijdens runtime worden berekend.

const val is een compile-tijd constante, die van een primitief type of string moet zijn en moet worden geïnitialiseerd met een waarde die bekend is op compile-tijd. Dergelijke constanten kunnen bijvoorbeeld worden gebruikt in annotaties of als parameters die constanten vereisen.

Belangrijkste verschillen:

  • const val is altijd een statische constante, toegankelijk op klasseniveau (alleen in objecten of op topniveau).
  • val is een gewone onveranderlijke eigenschap, die dynamisch kan worden berekend.

Voorbeeld:

const val MAX_COUNT = 10 // compile-tijd constante
val currentTime = System.currentTimeMillis() // waarde berekend tijdens runtime