Java Knowledge

1.获取运行期泛型类

public class BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T> {//获取的是T对应的泛型类型
    private Class clazz;//用于接收运行期泛型类型
    public BaseDaoImpl() {
        //获得当前类型的带有泛型类型的父类
        ParameterizedType ptClass = (ParameterizedType) this.getClass().getGenericSuperclass();
        //获得运行期的泛型类型
        clazz = (Class) ptClass.getActualTypeArguments()[0];
    }
    
    public T getById(Serializable id) {
        return (T) getHibernateTemplate().get(clazz, id);
    }
}    

 

posted @ 2018-07-11 19:13  发福大叔  阅读(93)  评论(0编辑  收藏  举报