2011-08-23 14 views
7

ApacheのStringUtils.joinをリストに使用できないのはなぜですか?

StringUtils.join(myList,','); 

私はコンパイルに失敗する:

cannot find symbol 
symbol : method join(java.util.List,char) 

しかし、次のように動作します:

StringUtils.join(myList.toArray(),','); 
docs (Apache Commons Lang 2.5) 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;

をインポートしています
+3

バージョン2.3以降で使用できます。時代遅れのJARファイルがありますか? – home

+0

そして 'myList'はどのように定義されていますか? –

+0

私は実際に同じ問題を抱えていますが、私はすべてと私のバージョンをチェックしました2.6 – Kevin

答えて

12

Collectionを使用する方法は2.3に追加されているだけなので、最も古い理由はCommons Langの古いバージョンを使用しているということです。

これは、JarのMANIFEST.MFファイルをImplementation-Versionフィールドで調べることで確認できます。

2

私は以前に問題があり、それが私のインポートの順番に起因することに気付きました。

私は、コモンズのJARをインポートの順番にシフトすると動作します。

これが役に立ちます。

+0

これは実際に役立ちます...ありがとう – user2720864

0

なく、あなたの問題ではなく、関連するかなり:org.apache.commons.lang.StringUtils

、区切り文字をとらない方法

join(Object[]) 

が存在します。

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

すべて(charString instesadを使用することができます)区切り文字を取ります。したがって、デリミタを忘れた場合、エラーメッセージが間違った問題を指している可能性があります。

関連する問題