Почему я не могу использовать Apache StringUtils.join в списке? - PullRequest
7 голосов
/ 23 августа 2011

Когда я пытаюсь

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;

Ответы [ 3 ]

12 голосов
/ 23 августа 2011

Наиболее вероятная причина в том, что вы используете более старую версию Commons Lang, поскольку метод, использующий Collection, был добавлен только в 2.3.

Вы можете проверить это, посмотрев в *Файл 1004 * в банке в поле Implementation-Version.

2 голосов
/ 24 января 2012

У меня была проблема ранее, и я понял, что это связано с порядком моего импорта.

Как только я сместил JAR-файл общего достояния в порядок импорта, это работает.

Надеюсь, это поможет.

0 голосов
/ 28 августа 2013

Не совсем ваша проблема, но связанная:

В org.apache.commons.lang.StringUtils существует метод

join(Object[])

, который не принимает разделитель.

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

Все разделители принимают (может использовать String вместо char).Поэтому, если вы забудете разделитель, ваше сообщение об ошибке может указывать на неправильную проблему.

...