我正在尝试使用org.apache.commons.lang中的StringEscapeUtils.escapeXML()函数...
该函数有两个版本,一个期望(Writer,String),另一个期望(String)....
我正在尝试使用只需要没有Writer的String参数的版本,但Java抱怨我没有给它一个Writer。
如何在我的程序中使用它,以便我不需要Writer?
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的错误。任何人都可以帮我这个吗?
谢谢, 马特
答案 0 :(得分:6)
错误消息告诉您正在将Object传递给方法,而不是String。
如果您确定Object是一个String,那么您首先需要将它转换为String。
如果这不起作用,请发布给您带来麻烦的实际代码。
答案 1 :(得分:2)
如果您在系统中安装了多个版本的java,则应该使用指定版本编译java类。
您应该使用这种方式编译文件。
javac -target -source
E.g H:&gt; javac -target 1.6 -source 1.6 Testt.java
所以你的目标和源版本告诉java,所以它会在运行时调用特定的版本类。
答案 2 :(得分:0)
编译器错误消息究竟是什么?
您是否可能使用不具有1参数方法的公共库的不同版本?