Junior — Middle
Milyen különbségek vannak a const val és a val kulcsszavak között Kotlinban?
sobes.tech MI
Válasz az MI-től
Kotlinban a val kulcsszó egy változatlan változót (csak olvasható) jelöl, amelynek értékét egyszer az inicializálás során lehet hozzárendelni, de maga az érték futásidőben is kiszámítható.
A const val egy fordítási időben állandó, amely primitív típusú vagy sztring típusú lehet, és olyan értékkel kell inicializálni, amely ismert a fordítási időben. Ezeket az állandókat például annotációkban vagy olyan paraméterekben lehet használni, amelyek állandókat igényelnek.
Fő különbségek:
- A
const valmindig statikus állandó, amely osztályszinten érhető el (csak objektumokban vagy felső szinten). - A
valegy normál, változatlan tulajdonság, amely dinamikusan kiszámítható.
Példa:
const val MAX_COUNT = 10 // fordítási időben állandó
val currentTime = System.currentTimeMillis() // futásidőben kiszámított érték