Java 为什么可以';我使用Apache';s StringUtils.join是否在列表中?
当我尝试Java 为什么可以';我使用Apache';s StringUtils.join是否在列表中?,java,collections,apache-commons,apache-stringutils,Java,Collections,Apache Commons,Apache Stringutils,当我尝试 StringUtils.join(myList,','); 我遇到编译失败: cannot find symbol symbol : method join(java.util.List,char) 但以下工作: StringUtils.join(myList.toArray(),','); 这似乎表明两者都应该起作用,因为它们记录了这两种情况: public static String join(Collection collection,
StringUtils.join(myList,',');
我遇到编译失败:
cannot find symbol
symbol : method join(java.util.List,char)
但以下工作:
StringUtils.join(myList.toArray(),',');
这似乎表明两者都应该起作用,因为它们记录了这两种情况:
public static String join(Collection collection,
char separator)
及
有什么想法吗?作为记录,我正在导入
import org.apache.commons.lang.StringUtils代码>最可能的原因是,您使用的是较旧版本的Commons Lang,因为仅在2.3中添加了使用集合的方法
您可以通过查看Jar中实现版本
字段中的MANIFEST.MF
文件来检查这一点。我之前遇到过这个问题,并意识到这是由于导入顺序造成的
一旦我改变了我的公用罐子的导入顺序,它就会起作用
希望这有帮助。不完全是您的问题,但与此相关:
在org.apache.commons.lang.StringUtils
中,存在一个方法
join(Object[])
这不需要分隔符
join(Object[], char)
join(Collection, char)
所有take分隔符(可以使用字符串
代替字符
)。因此,如果您忘记了分隔符,则错误消息可能指向错误的问题。它从2.3版开始提供。你有一个过时的JAR文件吗?我实际上也有同样的问题,但我已经检查了所有的东西,我的版本2.6你有没有尝试myList.iterator?@Kevin我的问题是我项目中的apache commons版本。如果您有与2.6版相同的症状,您可能想问自己的问题。(这个问题有了公认的答案,不太可能得到更多的关注。)
join(Object[], char)
join(Collection, char)