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

Какова роль и назначение ключевого слова reified в Kotlin?

Компании, где спрашивали
Effective Technologies

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

sobes.tech AI

В Kotlin ключевое слово reified используется в сочетании с inline-функциями для того, чтобы сохранить информацию о типе во время выполнения (runtime).

Обычно из-за стирания типов (type erasure) в JVM информация о типах обобщений (generics) недоступна во время выполнения. Но если функция объявлена как inline и параметр типа помечен как reified, то внутри этой функции можно использовать тип напрямую, например, для проверки типа или создания экземпляров.

Пример:

inline fun <reified T> isInstance(value: Any): Boolean {
    return value is T
}

fun main() {
    println(isInstance<String>("test")) // true
    println(isInstance<Int>("test"))    // false
}

Здесь reified позволяет использовать T в операторе is.