Reflection for Class von generischen Parametern in Java?

Stellen Sie sich folgendes Szenario vor:

class MyClass extends OtherClass<String>{

   String myName;
   //Whatever

}

class OtherClass<T> {

   T myfield;

}

Und ich analysiere MyClass mit Reflexion speziell(MyClass.class).getDeclaredFields()In diesem Fall erhalte ich die folgenden Felder (und Typen mit getType () des Feldes):

myName --> String
myField --> T

Ich möchte den tatsächlichen Typ für T erhalten, der zur Laufzeit aufgrund des expliziten "Strings" in der erweiterten Notation bekannt ist. Wie gehe ich vor, um den nicht genetischen Typ von myField zu ermitteln?

BEARBEITET BEHOBEN:

Die Antwort scheint "Sie können nicht" zu sein. Für diejenigen, die sich diese Frage später ansehen werden, empfehle ich die Verwendung von Jackson (ich habe versucht, damit JSON generiert wird) und das Annotieren Ihrer Klassen und Felder in einer solchen Weise, dass Jackson die Vererbungshierarchie kennt und automatisch was tun kann die richtige antwort unten vorgeschlagen.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage