StringJoiner — 구분자로 연결된 문자열 생성기

StringJoiner — 구분자로 연결된 문자열 생성기

구분자(delimiter) 로 구분되고 선택적으로 접두사(prefix) 로 시작하며 접미사(suffix) 로 끝나는 문자 시퀀스를 구성하는 데 사용되는 클래스예요.

출처: Java API Reference

본문

public final class StringJoiner extends Object

StringJoiner에 아무것도 추가하기 전에는 기본적으로 sj.toString()prefix + suffix를 반환해요. 그러나 setEmptyValue 메서드를 호출하면 대신 제공된 emptyValue를 반환해요. 예를 들어 집합 표기로 빈 집합을 나타내는 "{}"를 만들 때 유용해요.

다음과 같이 문자열 "[George:Sally:Fred]"를 구성할 수 있어요:

StringJoiner sj = new StringJoiner(":", "[", "]");
sj.add("George").add("Sally").add("Fred");
String desiredString = sj.toString();

StringJoinerCollectors.joining(CharSequence)을 사용해 Stream으로부터 형식화된 출력을 만드는 데도 사용할 수 있어요:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
String commaSeparatedNumbers = numbers.stream()
    .map(i -> i.toString())
    .collect(Collectors.joining(", "));

생성자

  • StringJoiner(CharSequence delimiter) — 문자 없이, prefix·suffix 없이, 제공된 delimiter의 사본으로 StringJoiner를 생성해요.
  • StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) — 문자 없이 제공된 prefix, delimiter, suffix의 사본을 사용해 StringJoiner를 생성해요.

주요 메서드

  • add(CharSequence newElement) — 제공된 값의 문자열 표현을 추가해요.

  • merge(StringJoiner other) — 접두사와 접미사가 없는 다른 StringJoiner의 내용을 이 조이너에 추가해요.

  • length() — 이 StringJoiner의 현재 문자열 표현 길이를 반환해요.

  • setEmptyValue(CharSequence emptyValue) — 이 조이너가 비어 있을 때 사용할 값을 지정해요.

  • toString() — 이 조이너의 현재 값을 문자열로 반환해요.

  • 도입 시점(Since): 1.8

더 알아보기 (Learn more)