java 获取接口和类上的泛型类型

interface

Type[] types = listener.getClass().getGenericInterfaces();
ParameterizedType parameterized = (ParameterizedType) types[0];
Class clazz = (Class) parameterized.getActualTypeArguments()[0];

class

 Class tClass = (Class)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];

如果是多个参数的话,取后面的值。

你可能感兴趣的:(java 获取接口和类上的泛型类型)