zoukankan      html  css  js  c++  java
  • 泛型转化为真实类型 ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]

    工具类:(泛型转化)

    【例子】:
    超类
    public class GenericDAO<T> {
      private Class<T> entityClass;
      protected GenericDAO() {
        Type type = getClass().getGenericSuperclass();
        Type trueType = ((ParameterizedType) type).getActualTypeArguments()[0];
        this.entityClass = (Class<T>) trueType;
      }
    }
    子类
    public class OptionManager extends GenericDAO<MSGC_OPTION> {

    }
    测试类
    public class OracleTest {
      public static void main(String[] args) throws Exception {
        OptionManager manager = new OptionManager();
      }
    }
    这样在你new OptionManager();以后
    超类里的entityClass就是子类那里的public class OptionManager extends GenericDAO<MSGC_OPTION> 里面的MSGC_OPTION所对应的class对象了..

  • 相关阅读:
    基于组的策略(GBP)开启新型网络设计时代
    49 多维数组(二维数组)
    48 查找
    47 排序
    46 字符数组和字符串
    45 数组应用
    44 数组
    43 C语言宏定义
    42 预处理命令
    41 函数封装练习
  • 原文地址:https://www.cnblogs.com/ai211234/p/5435069.html
Copyright © 2011-2022 走看看