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


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

 

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);
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM