Назад к вопросам
Selecty
Junior — Middle
58
В каких случаях в Kotlin можно применять модификатор reified внутри inline-функций?
Компании, где спрашивали
Ubic
Ответ от нейросети
sobes.tech AI
В Kotlin модификатор reified применяется только внутри inline функций и позволяет получить доступ к типу параметра во время выполнения, что обычно невозможно из-за стирания типов (type erasure).
Использование reified оправдано, когда нужно:
- Проверить тип с помощью
isили!is. - Создать экземпляр типа через рефлексию.
- Получить класс типа
T::classилиT::class.java.
Пример:
inline fun <reified T> Gson.fromJson(json: String): T {
return this.fromJson(json, T::class.java)
}
Здесь reified позволяет использовать T::class.java внутри функции, что невозможно без inline и reified.