当我尝试
时StringUtils.join(myList,',');
我的编译失败了:
cannot find symbol
symbol : method join(java.util.List,char)
但是以下工作:
StringUtils.join(myList.toArray(),',');
docs (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;
答案 0 :(得分:12)
最可能的原因是,您使用的是旧版本的Commons Lang,因为使用Collection
的方法仅在2.3中添加。
您可以通过查看MANIFEST.MF
字段中Jar中的Implementation-Version
文件来查看该内容。
答案 1 :(得分:2)
我之前遇到过这个问题,并意识到这是由于我导入的顺序。
一旦我按照导入的顺序移动我的公共JAR,它就可以了。
希望这有帮助。
答案 2 :(得分:0)
不完全是您的问题,但相关:
在org.apache.commons.lang.StringUtils
中,存在方法
join(Object[])
没有分隔符。
join(Object[], char)
join(Collection, char)
所有采用分隔符(可以String
使用char
instesad。{{1}}。因此,如果您忘记了分隔符,则您的错误消息可能指向错误的问题。