日期:2014-05-20  浏览次数:20694 次

关于这种定义方法
Java code
    public <T extends BaseBean> T getObjectById(Class<T> clazz,Long id,EntityManager em){
        T o = null;
        try {
          o = em.find(clazz, id);
        }catch(Exception ex){
            ex.printStackTrace();
        } finally {
          return o;
        }
    }



不理解public <T extends base> 在这里的出现的意思是什么?
哪位能讲讲吗

------解决方案--------------------
不是说强制的,实际就是传一个什么类型进来,就返回一个什么类型的对象,不需要强制转换了.
在很多使用Hibernate的时候

XXX a = (XXX)dao.getTemp.....().get(XXX.class,123);

现在相当于

XXX a = dao.getTemp.....().get(XXX.class,123);

在外边访问的时候,不再需要转换一下
------解决方案--------------------
泛型,没用过,我想这个泛型方法是说Class<T> clazz中的T需要为BaseBean或其子类