Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类型安全:未选中从对象到JAXBElement的强制转换<;用户>;_Java_Xml_Jaxb_Xsd - Fatal编程技术网

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,但它已经工作了。谢谢布莱斯