[英]java error String not applicable for the arguments (List<String>)
嗨,我不断收到以下错误:
UnitForm 类型中的方法
setOfficeCode(String)
不适用于 arguments (List<String>
)
我的 java 代码是:
public static void main(String[] args)
{
UnitForm uform = (UnitForm) form;
List<String> lines = new ArrayList<String>();
lines.add("Once upon a midnight dreary");
lines.add("While I pondered weak and weary");
lines.add("Over many a quaint and curious volume of forgotten lore");
String[] linesArr = lines.toArray(new String[lines.size()]);
for (String line : linesArr)
{
System.out.println(line);
}
uform.setOfficeCode(lines);
}
我正在尝试将 output 包含在我的 jsp 中的 formbean 的行中的内容,如果我将 setOfficeCode 转换为列表,我在 jsp 上看到的内容将围绕它出现 [] 就像 [许多古朴而好奇的被遗忘的知识, Hi, Bye] 我不希望括号出现在 jsp 上的数据周围,我想将它们分成单独的行而不是整个字符串,这样 hi 在新行上, bye 在新线等
您的setOfficeCode
需要一个字符串作为参数,并且您给它一个字符串列表。 要么更改setOfficeCode
定义,使其接受一个列表,要么在方法调用时仅传递列表中的一个字符串。
另外你不需要数组转换,你也可以这样做:
for (String line : lines)
{
System.out.println(line);
}
setOfficeCode{String input) 不等于 setOfficeCode(List input)。
该错误准确而明确地告诉您出了什么问题。
所以,你的问题实际上是不理解你的代码是如何工作的。
您需要做的是在 output 之前以正确的 HTML 格式准备数据,或者修改您的 JSP 以处理列表而不仅仅是字符串。
最简单的方法是使用 commons-lang 库(它可能已经在您的 class 路径中)并执行如下操作:
uform.setOfficeCode(StringUtils.join(lines, "<br/>"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.