Sobes.tech
Junior — Middle

Care sunt diferențele dintre cuvintele cheie const val și val în Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, cuvântul cheie val reprezintă o variabilă imutabilă (doar pentru citire), al cărei valoare poate fi atribuită o singură dată în timpul inițializării, dar valoarea în sine poate fi calculată în timpul execuției.

const val este o constantă la timpul de compilare, care trebuie să fie de tip primitiv sau șir și trebuie să fie inițializată cu o valoare cunoscută în timpul compilării. Astfel de constante pot fi utilizate, de exemplu, în adnotări sau ca parametri care necesită constante.

Diferențele principale:

  • const val este întotdeauna o constantă statică, accesibilă la nivel de clasă (doar în obiecte sau la nivel superior).
  • val este o proprietate obișnuită, imutabilă, care poate fi calculată dinamic.

Exemplu:

const val MAX_COUNT = 10 // constantă la timpul de compilare
val currentTime = System.currentTimeMillis() // valoare calculată în timpul execuției