求助啊java.lang.ClassCastException

时间:2022-08-20 15:50:19
用的struts1,TestAction继承BaseAction,在BaseAction中的execute方法里走到BaseForm bf = (BaseForm) form;就报错了。
可能是什么引发的呢??

6 个解决方案

#1


类型转换失败。也就是说 你的 form对象不能强制转换成 BaseForm

#2


BaseForm继承ActionForm,怎么会转不来呢??

#3


看看form创建的是什么类型。

#4


子类是可以强转父类的,
父类强转子类当然要报错了。。。

BaseForm bf = (BaseForm) form;
你这里的form是ActionForm,
而ActionForm是BaseForm的父类,
也就是说你想把父类的实例强转成子类的,
那是不行的。

#5


引用 4 楼  的回复:
子类是可以强转父类的,
父类强转子类当然要报错了。。。

BaseForm bf = (BaseForm) form;
你这里的form是ActionForm,
而ActionForm是BaseForm的父类,
也就是说你想把父类的实例强转成子类的,
那是不行的。

4L正解

#6


谢谢啦

#1


类型转换失败。也就是说 你的 form对象不能强制转换成 BaseForm

#2


BaseForm继承ActionForm,怎么会转不来呢??

#3


看看form创建的是什么类型。

#4


子类是可以强转父类的,
父类强转子类当然要报错了。。。

BaseForm bf = (BaseForm) form;
你这里的form是ActionForm,
而ActionForm是BaseForm的父类,
也就是说你想把父类的实例强转成子类的,
那是不行的。

#5


引用 4 楼  的回复:
子类是可以强转父类的,
父类强转子类当然要报错了。。。

BaseForm bf = (BaseForm) form;
你这里的form是ActionForm,
而ActionForm是BaseForm的父类,
也就是说你想把父类的实例强转成子类的,
那是不行的。

4L正解

#6


谢谢啦