2008-12-16 213 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所以它会调用特定版本类在运行时..

相关问题