009 구분자로 여러 문자열 합치기
몇 가지 적당한 해법으로 문제를 풀어보겠다. 자바 8 이전에는 아래처럼 StringBuilder를 사용하면 편했다.
public static String joinByDelimiter(char delimiter, String... args) {
StringBuilder result = new StringBuilder();
int i = 0;
for (i = 0; i < args.length - 1; i++) {
result.append(args[i]).append(delimiter);
}
result.append(args[i]);
return result.toString();
}
자바 8부터는 적어도 네 가지 해법으로 문제를 풀 수 있다. 그 중 하나가 StringJoiner 유틸리티 클래스를 이용하는 것이다. 이 클래스는 구분자(가령 콤마)로 분리된 문자 시퀀스를 생성한다.
선택적으로 접두사와 접미사도 지원한다(이 책에서는 다루지 않는다).
public static String joinByDelimiter(char delimiter, String... args) {
StringJoiner joiner = new StringJoiner(String.valueOf(delimiter));
for (String arg: args) {
joiner.add(arg);
}
return joiner.toString();
}