Sobes.tech
Junior — Middle

Em que casos em Kotlin se pode aplicar o modificador reified dentro de funções inline?

sobes.tech IA

Resposta da IA

No Kotlin, o modificador reified aplica-se apenas dentro de funções inline e permite aceder ao tipo do parâmetro em tempo de execução, o que normalmente não é possível devido à eliminação de tipos (type erasure).

O uso de reified é justificado quando é necessário:

  • Verificar o tipo com is ou !is.
  • Criar uma instância do tipo através de reflexão.
  • Obter a classe do tipo T::class ou T::class.java.

Exemplo:

inline fun <reified T> Gson.fromJson(json: String): T {
    return this.fromJson(json, T::class.java)
}

Aqui, reified permite usar T::class.java dentro da função, o que não é possível sem inline e reified.