Junior — Middle
Aké sú rozdiely medzi kľúčovými slovami const val a val v Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu, kľúčové slovo val označuje nezmeniteľnú premennú (len na čítanie), ktorej hodnotu je možné priradiť raz pri inicializácii, ale samotná hodnota môže byť vypočítaná počas behu.
const val je konštanta v čase kompilácie, ktorá musí byť primitívneho typu alebo reťazec a musí byť inicializovaná hodnotou známa v čase kompilácie. Takéto konštanty možno použiť napríklad v anotáciách alebo ako parametre vyžadujúce konštanty.
Hlavné rozdiely:
const valje vždy statická konštanta, dostupná na úrovni triedy (len v objektoch alebo na úrovni vrchu).valje obyčajná nezmeniteľná vlastnosť, ktorá môže byť vypočítaná dynamicky.
Príklad:
const val MAX_COUNT = 10 // konštanta v čase kompilácie
val currentTime = System.currentTimeMillis() // hodnota vypočítaná počas behu