Sobes.tech
Back to questions
Junior — Middle
57

В каких случаях в Kotlin можно применять модификатор reified внутри inline-функций?

Companies where asked
Ubic
SelectySelecty

Answer from AI

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.