티스토리 뷰

Java StringJoiner

StringBuilder 또는 StringBuffer 를 사용하다보면 중간 중간에 공백(문자)을 넣어야하는 경우에는 귀찮고 가독성도 떨어지는 면이

있습니다.

 

StringJoiner 는 여러 문자들을 연결할 때 붙일 구분자(delimiter) 를 지정해줄 수 있는게 특징입니다.

 

스트링 조인 방법들 소개

String first = "관우";
String second = "장비";
String third = "조운";
String fourth = "황충";
String fifth = "마초";

/**
* String으로 선언된 다섯명의 이름을 "-"를 붙여서 출력해보자.
* ex] 관우-장비-조운-황충-마초
**/

//String "+" 연산자 사용법
String names = first + "-" + "second" + "-" + third + "-" + fourth + "-" + fifth;
System.out.println(names);



//StringBuffer / StringBuilder
StringBuffer sb = new StringBuffer();
sb.append(first);
sb.append("-");
sb.append(second);
sb.append("-");
sb.append(third);
sb.append("-");
sb.append(fourth);
sb.append("-");
sb.append(fifth);
sb.append("-");

String names = sb.toString();
System.out.println(names);



// StringJoiner
StringJoiner sj = new StringJoiner("-");

sj.add(first);
sj.add(second);
sj.add(third);
sj.add(fourth);
sj.add(fifth);

String names = sj.toString();
System.out.println(names);

자동으로 구분자를 사이사이에 붙여주기 때문에 코드가 훨씬 줄었습니다. 그리고 prefix 와 suffix 도 붙여줄 수 있습니다.

// public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
StringJoiner sj = new StringJoiner("-", "[", "]");

sj.add(first);
sj.add(second);
sj.add(third);
sj.add(fourth);
sj.add(fifth);

String names = sj.toString();
System.out.println(names);

StringJoiner 은 stream 을 이용해서 쉽게 사용할 수 있습니다.

List<String> names = Arrays.asList(first, second, third, fourth, fifth);

String name = names.stream().collect(Collectors.joining("-", "[", "]"));
System.out.println(name);

이처럼 StringJoiner 는 공백이나 구분자를 반복해서 붙여야하는 경우에 유용하게 사용하실 수 있습니다.

 

참고

https://futurecreator.github.io/2018/06/02/java-string-joiner/

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함