BenjaminYang In solitude, where we are least alone

确定方法返回位置为泛型的类型

对于返回值是 泛型的方法,如何确定 泛型的返回值

 

1.先声明一个 用于接收运行时期的类对象

private Class clazz;

 

2.在空参构造里,通过反射方式方式获取运行时泛型类对象的类型

public BaseDaoImpl(){
        //获得当前类型的带有泛型类型的父类
        ParameterizedType ptClass=(ParameterizedType) this.getClass().getGenericSuperclass();
     //获得运行期泛型的类型 clazz
=(Class)ptClass.getActualTypeArguments()[0]; }

3.将泛型类对象 作为参数传给方法即确定了 泛型返回值的类型

public T getById(Serializable id) {
        return (T) getHibernateTemplate().get(clazz, id);
    }

 

posted @ 2018-07-22 16:15  benjamin杨  阅读(2656)  评论(0编辑  收藏  举报