¿Cómo obtener la clase de un parámetro genérico en Kotlin? (reified, inline y TypeReference)
¡Hola a todos! Llevo poco tiempo escribiendo en Kotlin y me he encontrado con un problema que en Java se resolvía fácilmente, pero en Kotlin me causa dificultades. Necesito saber, dentro de una función, con qué tipo de parámetro fue llamada. Por ejemplo, tengo este código:
```kotlin
fun processList(items: List) {
// ¿Cómo saber aquí si T es String, Int o algo más?
// Quiero imprimir el tipo en el log
println("Processing items of type: ${T::class}") // ¡Error!
}
```
En Java usaría Class y lo pasaría explícitamente. Pero en Kotlin quiero evitar eso y hacer la API más limpia. Intenté usar T::class, pero el compilador dice: "Cannot use 'T' as reified type parameter. Use a class instead." Leí sobre reified, pero no entendí del todo cómo funciona. Además, necesito que la función sea universal y funcione con cualquier tipo, incluyendo aquellos donde los genéricos se borran (por ejemplo, List). ¿Cómo obtener correctamente la clase T en Kotlin? ¡Gracias de antemano!
<<>>