2014-04-26 65 views
4

我有一個投類型安全:未選中投從對象的JAXBElement <User>

JAXBElement<User> jaxbElement = (JAXBElement<User>)unmarshaller.unmarshal(sr); 

它不起作用一個概率,eveybody能幫幫我嗎?


我不能做到這一點: 我告訴你我的代碼:

StringReader sr = new StringReader(this.message); 
JAXBElement<Utilisateur> jaxbElement = (JAXBElement<Utilisateur>) unmarshaller.unmarshal(sr); 

如果我這樣做,我有一個錯誤,因爲我用一個StringReader:

JAXBElement<User> jaxbElement = unmarshaller.unmarshal(sr, User.class); 
+0

你是什麼意思:「它不工作」?你能更具體一點嗎? – user3575404

+0

你意識到你引用的消息只是一個編譯器警告,對吧?它實際上並不會停止編譯代碼。那麼告訴我們,是另一回事了嗎? –

+0

這是一個編譯器的警告是的,我的代碼無法繼續,我不能顯示這個 System.out.println(jaxbElement.getName()); – Hann

回答

8

如果要避免編譯器警告,則可以使用採用Class參數的解組方法之一。

JAXBElement<User> jaxbElement = unmarshaller.unmarshal(sr, User.class); 

注意

,你在你的問題有它您的代碼應該運行完全正常。

+0

我可以用StringReader來做到這一點嗎? – Hann

+0

@Hann - 您需要將'StringReader'包裝到'StreamSource'中。 –

+0

感謝它的工作,但我無法在system.out.println()中顯示jaxbElement或jaxbElement.getName() – Hann

相關問題