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
isou!is. - Criar uma instância do tipo através de reflexão.
- Obter a classe do tipo
T::classouT::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.