上代码
DAO类的泛型方法
方法一 public <T> T getByPK(Integer arg)
{
Class<T> entityClass =(Class<T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
return (T)this.getHibernateTemplate().get(entityClass, arg);
}
Service的调用报错
java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
方法二 public <T> T getByPK(Class<T> entityClass,Integer arg)
{
return (T)this.getHibernateTemplate().get(entityClass, arg);
}调用成功的 我的错误在那里。
这方法有什么不一样吗?怎么调用?望高手详解。
DAO类的泛型方法
方法一 public <T> T getByPK(Integer arg)
{
Class<T> entityClass =(Class<T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
return (T)this.getHibernateTemplate().get(entityClass, arg);
}
Service的调用报错
java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
方法二 public <T> T getByPK(Class<T> entityClass,Integer arg)
{
return (T)this.getHibernateTemplate().get(entityClass, arg);
}调用成功的 我的错误在那里。
这方法有什么不一样吗?怎么调用?望高手详解。
解决方案 »
- Spring问题
- 同一个程序点过三到四次的时候就回很慢,使得是ORACLE数据库
- java数据结构的问题
- 怎么样用Axis2+tomcat+eclipse调用WebService
- struts中的logic:iterate 如何显示出数据库中的BLOB类型的图片
- 小问题
- 关于JNative问题
- 大家都在用什么ide?
- Struts中如何同时添加多条记录?
- resin4下部署hibernate 4.2,spring 4.0.2项目,为什么会扫描整个webapps的项目。
- 按照王勇老师的视频步骤 第一次配置hibernate 遇见的一个配置问题和几个问题常识问题
- jsp 固定域中原样显示word,execl,ppt
Class <T> entityClass =(Class <T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
你这里有类型强制转化错误。
.getGenericSuperclass()).getActualTypeArguments()[0];
这句返回的应该是个lang ,你把它转ParameterizedType了。
if(ArrayList.class.getGenericSuperclass() instanceof ParameterizedType){
System.out.println("OK");
}
if(String.class.getGenericSuperclass() instanceof ParameterizedType){
System.out.println("Nerver run here");
}
http://www.javaeye.com/problems/1560 看看这个贴 希望对楼主有帮助
{
Class <T> entityClass =(Class <T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
return (T)this.getHibernateTemplate().get(entityClass, arg);
}
Service的调用报错
java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
方法二public <T> T getByPK(Class <T> entityClass,Integer arg)
{
return (T)this.getHibernateTemplate().get(entityClass, arg);
}调用成功的 方法一种类型T并不明确 并且你强转还是一个未知类型T
方法二中T是你传的Class<T> entityClass类型,你调用这个方法的时候类型已经明确了