Eu preciso, dentro do método mmm(), criar uma instância de T e popular alguns atributos, por meio de reflexão. Contudo, não estou conseguindo obter o Class do T para criar a instância e chamar seus métodos.
Na loucura pra tentar implementar, descobri que é necessário que o tipo genérico seja passado em tempo de compilação, não vale fazer new X<Date>, você precisa ter uma subclasse com o tipo genérico pré-definido em tempo de compilação, como no código abaixo, mas pelo menos há uma maneira.
// isto que eu chamo de "tipo genérico pré-definido em tempo de compilação"publicclassMainextendsX<Date>{publicstaticvoidmain(String[]args)throwsInstantiationException,IllegalAccessException{newMain().teste();}}abstractclassX<T>{privateClass<T>c;publicvoidteste()throwsInstantiationException,IllegalAccessException{c=(Class<T>)((ParameterizedType)this.getClass().getGenericSuperclass()).getActualTypeArguments()[0];Tt=c.newInstance();System.out.println(t);}}
Bom, agora é só decidir se vale a pena usar um código “rebuscado” desses ou não…