2010-08-04 3 views
7

',', 의 구분 기호로 결합하려는 ArrayList가 있습니다. 여기에 일부 답변이 있는데 여기에는 StringUtils.join이 좋은 옵션이지만 문제가 있습니다. 입니다 나는 다음과 같은 오류가 ArrayList에 가입하려고하면ArrayList에 Java : StringUtils.join이 NoSuchMethodError 예외를 반환합니다.

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로 코딩 할 때이 오류에 대해 경고하지 않습니다. 컴파일 할 때만 발생합니다.

답변

19

이전 버전의 commons-lang이 있습니다. 이 방법이있는 최신 버전을 구하십시오.

다른 방법으로,이 방법은 평민 랭 2.3부터 존재 StringUtils.join(friendsList.toArray(), ',')

+1

이 답변을 주셔서 감사 드리며,이 머리 위로 머리카락을 꺼내려고했습니다. – tth

2

"컴파일 할 때만 발생합니다."

이것은 컴파일 오류가 아닙니다. 호출되는 메소드의 서명이 클래스 경로의 관련 클래스 중 하나와 일치하지 않을 때 런타임에 발생하는 연결 오류입니다. 컴파일 시간과 런타임 (아마도 다른 버전 일 수도 있습니다)마다 다른 항아리가있을 것입니다.

+0

너무 늦게 깨어서 죄송합니다. 동일한 문제가 있습니다.'System.getProperty ("java.class.path")'에 commons-lang-2.5가있는 것을 확인했습니다. ,하지만 여전히 런타임, 어떤 단서 동안이 오류가 발생하고 있습니까? – user2720864

1

클래스 패스 문제가 있습니다.

1

를 호출하여 항아리를 확인할 수 있습니다.

1

2.4.jar를 사용합니다. 여전히 StringUtils.join (friendsList.toArray(), ',')과 같은 것을 사용하여 끝내야했습니다.

관련 문제