StringJoiner — 구분자로 연결된 문자열 생성기
StringJoiner — 구분자로 연결된 문자열 생성기
구분자(delimiter) 로 구분되고 선택적으로 접두사(prefix) 로 시작하며 접미사(suffix) 로 끝나는 문자 시퀀스를 구성하는 데 사용되는 클래스예요.
본문
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();
StringJoiner는 Collectors.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