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

Можете объяснить принцип работы ключевого механизма reified в Kotlin?

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

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

sobes.tech AI

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

Когда функция объявлена как 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 стирается во время компиляции.