Java父类取得子类传递的泛型参数Class类型

旧城等待, 2022-04-12 09:59 536阅读 0赞
  1. import java.lang.reflect.ParameterizedType;
  2. import java.lang.reflect.Type;
  3. import org.junit.Test;
  4. abstract class BaseDao<T> {
  5. public void getType() {
  6. //Class<E> clazz = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
  7. Type t = getClass().getGenericSuperclass();
  8. ParameterizedType p = (ParameterizedType) t ;
  9. Class<T> c = (Class<T>) p.getActualTypeArguments()[0];
  10. System.out.println(c.getName()); //java.lang.String
  11. }
  12. }
  13. public class SubDao extends BaseDao<String> {
  14. @Test
  15. public void test1() {
  16. getType();
  17. }
  18. }

发表评论

表情:
评论列表 (有 0 条评论,536人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java取得

      在继承关系中,不管父类还是子类,这些类里面的this都代表了最终new出来的那个类的实例对象,所以在父类中你可以用this获取到子类的信息!   packag