2008-12-16 114 views
3

我試圖從org.apache.commons.lang使用StringEscapeUtils.escapeXML()函數...如何判斷Java使用哪個StringEscapeUtils.escapeXML()?

該函數有兩個版本,一個期望(Writer,String)和一個只是預計(字符串)....

http://commons.apache.org/lang/api/org/apache/commons/lang/StringEscapeUtils.html#escapeXml(java.lang.String)

我試圖用,只是希望沒有作家String參數的版本,但Java的抱怨,我已經沒有給它一個作家。

如何使用這在我的計劃,這樣我不需要一個作家?

String escXml = StringEscapeUtils.escapeXml(attr.get()); 
xml = xml.concat("<"+attr.getID()+">"+escXml+"</"+attr.getID()+">"); 

我也試過只是在字符串本身內聯它。

xml = xml.concat("<"+attr.getID()+">"+StringEscapeUtils.escapeXml(attr.get())+"</"+attr.getID()+">"); 

這兩種嘗試都給了我期待Writer的錯誤。誰能幫我這個?

謝謝, 馬特

回答

6

錯誤消息告訴你,你是傳遞一個對象入法,而不是一個字符串。

如果您確信該對象是字符串,那麼你就需要首先將它轉換爲一個字符串。

如果這不起作用,請發佈給您帶來麻煩的實際代碼。

0

究竟是編譯器錯誤消息?

是有可能,您使用的是不同版本的公共庫,不具備1參數的方法?

2

你應該編譯與指定版本的Java類,如果你在你的系統安裝java的多個版本。

你應該用這種方式編譯你的文件。

javac的-target -source

如H:> javac的-target 1.6 -source 1.6 Testt.java

所以,你的目標和源的版本是說給Java所以它會調用特定版本類在運行時..

相關問題