Можно ли применить ключевое слово refied без использования inline в коде?

В Kotlin ключевое слово reified используется для получения информации о типе во время выполнения в обобщённых функциях, но оно требует, чтобы функция была объявлена с модификатором inline.

Короткий ответ

Что ответить на собеседовании

В Kotlin ключевое слово reified используется для получения информации о типе во время выполнения в обобщённых функциях, но оно требует, чтобы функция была объявлена с модификатором inline.

Подробный разбор

Ответ с пояснениями

В Kotlin ключевое слово reified используется для получения информации о типе во время выполнения в обобщённых функциях, но оно требует, чтобы функция была объявлена с модификатором inline.

Это связано с тем, что обобщённые типы в Kotlin обычно стираются во время компиляции (type erasure), и без inline невозможно получить конкретный тип в рантайме.

Поэтому использовать reified без inline нельзя — компилятор выдаст ошибку.

Пример правильного использования:

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

Если убрать inline, то reified использовать нельзя.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку