消息关闭
    暂无新消息!

java接口泛型.class获取

问题作者 : 屁儿2017-07-07发布
public interface A<T>{}
public class AImpl<T> implements A<T>{
        private Class<T> clazz;
         public AImpl(){
              Type type = this.getClass().getGenericSuperclass();
              if(type instanceof ParameterizedType){
          clazz = (Class<T>) ((ParameterizedType) type).getActualTypeArguments()[0];
           }else{
          clazz = (Class<T>) getClass();
           }
        }
}
public interface B extends A<User>{}

在service中通过spring 注入B
public class BServiceImpl implements BService{
       @Autorwired
       private B binterface;
}

如何在AImpl中获取到B中的泛型User,在AImpl中this.getClass()获取到的是AImpl而不是B

2个回答