Wie man den Typ-parameter-Werte mit Hilfe der java reflection?
interface Foo<T> { ... }
class Bar implements Foo<Baz> { ... }
Habe ich eine Bar
Objekt. Wie man den Wert von T
für Sie (Baz
)?
Bisher habe ich nur geschafft, die Schnittstelle und die T
, aber ich kann nicht einen Weg finden, um seinen Wert.
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Natürlich, im Allgemeinen Fall, sollten Sie die Iteration über das array, sondern vorausgesetzt es hat genau ein element (
[0]
). Mit dem obigen Beispiel, können Sie werfenactualType
zujava.lang.Class
. In anderen Fällen kann es anders sein (siehe Kommentar von meriton)actualType
ist nicht notwendigerweise eine Ebenejava.lang.Class
- es könnte auch einGenericArrayType
eineParametrizedType
oder eineTypeVariable
.Class
.Wenn Sie bereits Guave auf dem Klassenpfad, diese ist etwas robuster, da Sie angeben, die Schnittstelle/Oberklasse von Typ anstatt index.