cannot cast java.lang.Class to java.lang.reflect.ParameterizedType
启动服务器过程中出现这个异常,
实现通过反射获取子类确定的泛型类,
父类:
public class BaseDAO<T> {
private Class<T> entityClass;
public BaseDAO() {
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType)genType).getActualTypeArguments();
entityClass = (Class)params[0];
}
……
}
子类:
@Repository
public class UserDAO extends BaseDAO {
……
}
在BaseDAO中仔细查看没有发现任何问题,
结果很汗颜的是子类没有在继承BaseDAO是指定类型
@Repository
public class UserDAO extends BaseDAO<User> {
......
}