栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

java.lang.ClassCastException:无法将java.lang.Class强制转换为java.lang.reflect.ParameterizedType

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java.lang.ClassCastException:无法将java.lang.Class强制转换为java.lang.reflect.ParameterizedType

在这个类的声明中

public class ProductTypeDaoImpl extends GenericDaoImpl implements ProductTypeDao

您正在使用

GenericDaoImpl
ProductTypeDao
作为原始类型。首先阅读为什么不应该使用它们。

您正在使用原始类型的事实在这里引起问题

ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();

自以来,在哪里

getGenericSuperclass()
将返回
Class
实例
GenericDaoImpl

public class ProductTypeDaoImpl extends GenericDaoImpl implements ProductTypeDao

未参数化,因此不是

ParameterizedType
。然后强制转换失败。

解决方案是在类声明中参数化这两种类型。从您的代码中并不能立即看出这些类型参数应该是什么,但

GenericTypeDao
应该采用
ProductTypeDomain

public class ProductTypeDaoImpl extends GenericDaoImpl<ProductTypeDomain> implements ProductTypeDao

并且您的接口

ProductTypeDao
可能应该声明为

public interface ProductTypeDao extends GenericDao<ProductTypeDomain> {


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/435932.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号