Это довольно тривиально, если вы не хотите зависеть от commons-lang. Также не здорово конвертировать List в Array, просто чтобы снова присоединить его к String. Вместо этого просто переберите свою коллекцию. Даже лучше, чем использование Collection, используется Iterable, который обрабатывает все, что может быть итератором (даже некоторый поток или Коллекция неизвестной длины).
import java.util.Arrays;
import java.util.Iterator;
public class JoinDemo {
public static String join(String sep, Iterable<String> i) {
StringBuilder sb = new StringBuilder();
for (Iterator<String> it = i.iterator(); it.hasNext();) {
sb.append(it.next());
if (it.hasNext())
sb.append(sep);
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(join(",", Arrays.asList(args)));
}
}
Пример:
# javac JoinDemo.java
# java JoinDemo a b c
a,b,c