Avatar ·

Como obter o objeto Class para o parâmetro de tipo T em Java?

Olá a todos! Escrevo em Java há pouco tempo e me deparei com um problema ao trabalhar com generics. Tenho uma classe genérica e preciso obter uma instância da classe (Class) para o parâmetro de tipo T dentro dela. Por exemplo, quero criar uma instância de T via reflection ou passá-la para algum método que exija Class. Aqui está um exemplo de código que não funciona: ```java public class MyGenericClass { public void doSomething() { // Aqui quero obter Class, mas não sei como Class clazz = T.class; // Erro de compilação! // Depois quero, por exemplo, criar uma nova instância de T T instance = clazz.newInstance(); } } ``` O compilador reclama: "Cannot select from a type variable". Entendo que devido ao type erasure, a informação sobre T é perdida em tempo de execução. Mas como fazer então? Vi que em alguns frameworks (como Gson ou Spring) eles conseguem obter classes para tipos. Talvez exista algum padrão ou solução alternativa.