Назад к вопросам
Т-Банк
Леруа Мерлен
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() // значение вычисляется во время выполнения