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

 

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

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-17
  • 2022-12-23
  • 2022-03-09
  • 2021-10-05
  • 2022-12-23
  • 2022-03-02
猜你喜欢
  • 2021-07-14
  • 2021-10-26
  • 2021-11-17
  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
相关资源
相似解决方案