Sobes.tech
Назад к вопросам
Junior — Middle
72

Какие отличия существуют между ключевыми словами const val и val в Kotlin?

Компании, где спрашивали
Effective Technologies
Т-БанкТ-Банк
Joy Dev
Леруа МерленЛеруа Мерлен

Ответ от нейросети

sobes.tech AI

В Kotlin ключевое слово val обозначает неизменяемую переменную (read-only), значение которой можно присвоить один раз при инициализации, но само значение может быть вычислено во время выполнения.

const val — это константа времени компиляции, которая должна быть примитивного типа или строки и инициализироваться значением, известным на этапе компиляции. Такие константы можно использовать, например, в аннотациях или в качестве параметров, требующих констант.

Основные отличия:

  • const val — всегда статическая константа, доступна на уровне класса (только в объектах или топ-левелах).
  • val — обычное неизменяемое свойство, может быть вычислено динамически.

Пример:

const val MAX_COUNT = 10 // константа времени компиляции
val currentTime = System.currentTimeMillis() // значение вычисляется во время выполнения