What I'm trying to do is to get a generic typearg of a Field using
Type type = f.getGenericType();
if (type instanceof ParameterizedType) {
ParameterizedType ptype = (ParameterizedType) type;
// ...
Class<?> typearg0 = ??? // ptype.getActualTypeArguments()[0]
}
(where f
is an instance of java.lang.Field
). I need that instance of Class<?>
to perform a Foo.class.isAssignableFrom(typearg0)
check later, which only takes Class<T>
es as an argument. At the same time, I know (or expect) said typearg0
to be a parameterized type as well, so there's a contradiction: typearg0
cannot be Class<?>
and ParameterizedType
at the same time, because Class<?>
is itself a class and does not implement ParameterizedType
.
Can I achieve the isAssignableFrom()
check in any other way? Or is my goal generally impossible to achieve?
Thank you very much!
Aucun commentaire:
Enregistrer un commentaire