maven 尝试解组xml JAVA时出现类强制转换异常

kmbjn2e3  于 2023-06-21  发布在  Maven
关注(0)|答案(1)|浏览(168)

试图通过这里的类转换:
代码:

final JAXBContext securityContext = JAXBContext.newInstance(Securities.class);
final Securities securities = (Securities) securityContext.createUnmarshaller().unmarshal(new StreamSource(new StringReader(sourceMessage.getPayload())));

错误:

javax.xml.bind.JAXBElement cannot be cast to com.model.Securities

不知道我做错了什么,任何建议都很好。
谢谢

ax6ht2ek

ax6ht2ek1#

unmarshaller.unmarshal(source)返回Object引用。被引用对象的实际类型显然是javax.xml.bind.JAXBElementcom.model.Securities(这是从哪里来的?)不在JAXBElement的继承层次结构中(实际上,只有Object作为唯一的超类;另外它是一个generic type),所以除了抛出ClassCastException之外没有其他选择:
抛出表示代码试图将一个对象强制转换到它不是示例的子类。

相关问题