Type genericSuperclass = x.getClass().getGenericSuperclass();
if (genericSuperclass instanceof ParameterizedType) {
Type[] types =
((ParameterizedType) genericSuperclass).getActualTypeArguments();
}
Затем вы можете использовать Class.isAssignableFrom
, если type instanceof Class
, чтобы проверить, является ли оно Foo
или нет.
т.е.
if (types[0] instanceof Class) {
if (x.getClass().isAssignebleFrom(((Class) type[0]))){
// do something
}
}