Java: StringUtils.join для ArrayList возвращает исключение NoSuchMethodError - PullRequest
7 голосов
/ 04 августа 2010

У меня есть ArrayList, к которому я хотел бы присоединиться с разделителем ',', Я читал в некоторых ответах здесь, что StringUtils.join - хороший вариант, но проблема в том, что когда я пытаюсь присоединиться к ArrayList, я получаю следующую ошибку:

java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.join(Ljava/util/Collection;C)Ljava/lang/String;

код:

ArrayList<String> friendsList = new ArrayList<String>();
.
.
.
StringUtils.join(friendsList, ',');

что мне не хватает?

Когда я пишу с NetBeans, он не предупреждает меня об этой ошибке, это происходит только тогда, когда я пытаюсь скомпилировать.

Ответы [ 5 ]

19 голосов
/ 04 августа 2010

У вас есть более старая версия commons-lang. Получить последнюю версию, которая имеет этот метод.

Кроме того, вы можете позвонить StringUtils.join(friendsList.toArray(), ',')

2 голосов
/ 04 августа 2010

"это происходит только когда я пытаюсь скомпилировать."

Это не ошибка компиляции.Это ошибка связывания, которая возникает во время выполнения, когда подпись вызываемого метода не совпадает с сигнатурой соответствующего класса в classpath.Возможно, у вас есть разные jar-файлы во время компиляции и во время выполнения (возможно, разные версии).

1 голос
/ 20 апреля 2011

Я использую 2.4.jar. Тем не менее мне пришлось использовать что-то вроде этого StringUtils.join (friendsList.toArray (), ','), чтобы сделать это.

1 голос
/ 04 августа 2010

Этот метод существует, так как обыкновенный lang 2.3, проверьте вашу банку.

1 голос
/ 04 августа 2010

Я думаю, проблема с classpath.

...