7

当我尝试

StringUtils.join(myList,',');

我得到一个编译失败:

cannot find symbol
symbol  : method join(java.util.List,char)

但以下工作:

StringUtils.join(myList.toArray(),',');

文档(Apache Commons Lang 2.5)似乎表明两者都应该工作,因为它们记录了两者:

public static String join(Collection collection,
                      char separator)

public static String join(Object[] array,
                      char separator)

有任何想法吗?为了记录,我正在导入import org.apache.commons.lang.StringUtils;

4

3 回答 3

12

最可能的原因是,您使用的是旧版本的 Commons Lang,因为使用 a 的方法Collection仅在 2.3 中添加。

您可以通过查看该字段MANIFEST.MF的 Jar 中的文件来检查这一点。Implementation-Version

于 2011-08-23T17:17:41.713 回答
2

我早些时候遇到了问题,并意识到这是由于我的导入顺序造成的。

一旦我将公共 JAR 的导入顺序向上移动,它就可以工作了。

希望这可以帮助。

于 2012-01-24T09:22:12.823 回答
0

不是你的问题,但相关:

org.apache.commons.lang.StringUtils,存在一个方法

join(Object[])

这不需要分隔符。

join(Object[], char)
join(Collection, char)

All take delimiters (may use String instesad of char). So if you forget the delimiter, your error message may be pointing to the wrong problem.

于 2013-08-28T19:35:53.460 回答