Reflexión para la clase de parámetro genérico en Java?
Imagina el siguiente escenario:
class MyClass extends OtherClass<String>{
String myName;
//Whatever
}
class OtherClass<T> {
T myfield;
}
Y estoy analizando MyClass usando específicamente la reflexión.(MyClass.class).getDeclaredFields()
, en este caso obtendré los siguientes campos (y Tipos, usando getType () del Campo):
myName --> String
myField --> T
Quiero obtener el Tipo para T real, que se conoce en tiempo de ejecución debido a la "Cadena" explícita en la notación extendida, ¿cómo hago para obtener el tipo no genético de mi Campo?
EDITAR RESUELTO:
Parece que la respuesta es "no puedes". Para aquellos que puedan ver esta pregunta más adelante, recomendaría usar Jackson (estaba intentando hacer esto para generar JSON) y anotar sus clases y campos de tal manera que Jackson esté al tanto de la jerarquía de herencia y pueda hacer lo que automáticamente. La respuesta correcta a continuación sugiere.