Como obter a classe de um parâmetro genérico em Kotlin? (reified, inline e TypeReference)
Olá a todos! Estou escrevendo em Kotlin recentemente e me deparei com um problema que em Java era resolvido facilmente, mas em Kotlin está me causando dificuldades. Preciso, dentro de uma função, saber com qual tipo de parâmetro ela foi chamada. Por exemplo, tenho este código:
```kotlin
fun processList(items: List) {
// Como saber aqui que T é String, Int ou algo mais?
// Quero exibir o tipo no log
println("Processing items of type: ${T::class}") // Erro!
}
```
Em Java, eu usaria Class e passaria explicitamente. Mas em Kotlin quero evitar isso e deixar a API mais limpa. Tentei usar T::class, mas o compilador diz: "Cannot use 'T' as reified type parameter. Use a class instead." Li sobre reified, mas não entendi completamente como funciona. Além disso, preciso que a função seja universal e funcione com qualquer tipo, incluindo aqueles onde os genéricos são apagados (por exemplo, List). Como obter corretamente a classe T em Kotlin? Agradeço desde já!
<<>>