获取泛型类型

public abstract class AbstractRepository<T> {
    private Class<T> getClazz() {
        return  (Class<T>)((ParameterizedType) getClass().getGenericSuperclass())
                .getActualTypeArguments()[0];
    }
}

说明

  • getGenricSuperclass() 需要有子类

  • getActualTypeArguments()[0],只是取到第一个泛型的类型

  • getGenericInterfaces() 可以取接口的泛型


seal_de
46 声望3 粉丝