estoy tratando de hacer algo como esto en Java:¿Hay alguna manera de encontrar el tipo de parámetro de plantilla (genérico) en Java?
public static <T> T foo() {
return (T) bar(T);
}
public static Object bar(Class<?> klaz) {
return klaz.newInstance();
}
Pero el código no compila ya que no puedo sustituir T para una clase <>?.
Con una clase concreta, puedo llamar barra de como:
bar(ConcreteClass.class);
Pero la misma no funciona para T. es decir, no hay tal cosa como T.class
En C#, typeof obras para ambos tipos de hormigón y de la plantilla. Por lo tanto, la llamada a la barra habría sido:
bar(typeof(T));
Pero no he podido encontrar nada similar en Java.
¿Me falta algo, o Java no tiene una forma de obtener el tipo de un parámetro de plantilla? Y si Java no tiene la instalación, ¿hay alguna solución alternativa?