Sobes.tech
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 val mindig statikus állandó, amely osztályszinten érhető el (csak objektumokban vagy felső szinten).
  • A val egy 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