Можно ли хранить Array в const val

«Можно ли хранить Array в const val» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, const val в Kotlin поддерживает только примитивные типы (Int, Long, Double, String и т.д.) и простые выражения. Массивы (Array) нельзя объявить как const val, так как они являются объектами и требуют инициализации во время выполнения.

Вместо этого можно использовать:

val MY_ARRAY = arrayOf(1, 2, 3) // обычное val, инициализируется при первом обращении

Или для неизменяемого списка:

val MY_LIST = listOf(1, 2, 3) // предпочтительнее для неизменяемых коллекций

Если нужна именно константа времени компиляции, можно использовать аннотацию @JvmField или @JvmStatic для Java-совместимости.