Java 类型安全:未选中从对象到JAXBElement的强制转换<;用户>;
我的石膏有问题Java 类型安全:未选中从对象到JAXBElement的强制转换<;用户>;,java,xml,jaxb,xsd,Java,Xml,Jaxb,Xsd,我的石膏有问题 JAXBElement<User> jaxbElement = (JAXBElement<User>)unmarshaller.unmarshal(sr); JAXBElement-JAXBElement=(JAXBElement)unmarshaller.unmarshal(sr); 这不管用,每个人都能帮我吗 我不能这样做: 我向您展示我的代码: StringReader sr = new StringReader(this.message);
JAXBElement<User> jaxbElement = (JAXBElement<User>)unmarshaller.unmarshal(sr);
JAXBElement-JAXBElement=(JAXBElement)unmarshaller.unmarshal(sr);
这不管用,每个人都能帮我吗
我不能这样做: 我向您展示我的代码:
StringReader sr = new StringReader(this.message);
JAXBElement<Utilisateur> jaxbElement = (JAXBElement<Utilisateur>) unmarshaller.unmarshal(sr);
StringReader sr=新的StringReader(this.message);
JAXBElement=(JAXBElement)unmarshaller.unmarshal(sr);
如果我这样做,我会有一个错误,因为我使用了StringReader:
JAXBElement<User> jaxbElement = unmarshaller.unmarshal(sr, User.class);
JAXBElement-JAXBElement=unmarshaller.unmarshal(sr,User.class);
如果要避免编译器警告,可以使用一个采用类的unmarshal方法
JAXBElement<User> jaxbElement = unmarshaller.unmarshal(sr, User.class);
JAXBElement-JAXBElement=unmarshaller.unmarshal(sr,User.class);
注意
你的代码应该运行得很好,因为你的问题就是这样。你说的“它不工作”是什么意思?你能说得更具体一点吗?你意识到你引用的信息只是一个编译器警告,对吗?它实际上并不会阻止您的代码编译。告诉我们,还有什么问题吗?这是一个编译器警告是的,我的代码无法继续,我无法显示这个系统。out.println(jaxbElement.getName());我可以用StringReader来做这件事吗?@Hann-你需要将你的StringReader
包装在StreamSource
中。谢谢你的工作,但我不能在system.out.println()中显示jaxbElement或jaxbElement.getName()@Hann-当你尝试这样做时会发生什么?我需要我的Qname,但它已经工作了。谢谢布莱斯