java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType这个异常怎么解决 谁能帮我一下

2025-12-24 10:41:50
推荐回答(5个)
回答1:

构造方法写得没错,是泛型用错了,有两种解决方案。

1、再写一个子类继承这个类,子类可以没有任何属性和方法,但必须指明泛型类型,然后使用子类创建对象。

2、写一个含有Class类型的构造方法,在使用该类创建对象时给出具体类型。

软件包 java.lang.reflect 的描述。

提供类和接口,以获取关于类和对象的反射信息。在安全限制内,反射允许编程访问关于加载类的字段、方法和构造方法的信息,并允许使用反射字段、方法和构造方法对对象上的基本对等项进行操作。

如果必需的ReflectPermission可用,则AccessibleObject允许抑制访问检查。

回答2:

构造方法写的没错,是泛型用错了,有两种解决方案,1.再写一个子类继承这个类,子类可以没有任何属性和方法,但必须指明泛型类型,然后使用子类创建对象 2.写一个含有Class类型的构造方法,在使用该类创建对象时给出具体类型

回答3:

有Class A 跟 Class B
A跟B没有任何关系
你把A塞给B就抛这个异常了

回答4:

转换异常了。。。上面说的都有道理!!!

回答5:

就是说你拿到的是String变量,你把它强制转换成Date型的所以出错
你可以用Format类或者自己分析carno的格式转换成Date类型
比方carno="2001/01/01";
就可以String[] s = carno.split("/");
new Date(Integer.parseInt(s[0]), Integer.parseInt(s[1]), Integer.parseInt(s[2]));之类的处理