Java StringJoiner (문자열 구분자 붙이기)
StringBuilder 또는 StringBuffer 를 사용하다보면 중간 중간에 공백(문자)을 넣어야하는 경우에는 귀찮고 가독성도 떨어지는 면이 있습니다. 혹시나 하고 봤더니 Java 8 에 추가된 StringJoiner 라는 클래스가 있더라구요. 쓸만한 것 같아서 소개드립니다.
StringJoiner 는 여러 문자들을 연결할 때 붙일 구분자(delimiter) 를 지정해줄 수 있는게 특징입니다.
간단한 예제
1 | String first = "관우"; |
오호대장군 다섯 명이 있다고 할 때, 다섯 명 이름을 “-” 로 붙여서 출력해보도록 합니다.
1 | 관우-장비-조운-황충-마초 |
String + operator
1 | String 오호대장군 = first + "-" + "second" + "-" + third + "-" + fourth + "-" + fifth; |
StringBuffer / StringBuilder
1 | StringBuffer sb = new StringBuffer(); |
StringJoiner
1 | StringJoiner sj = new StringJoiner("-"); |
자동으로 구분자를 사이사이에 붙여주기 때문에 코드가 훨씬 줄었습니다. 그리고 prefix 와 suffix 도 붙여줄 수 있습니다.
1 | // public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) |
1 | [관우-장비-조운-황충-마초] |
StringJoiner 은 stream 을 이용해서 쉽게 사용할 수 있습니다.
1 | List<String> 장군들 = Arrays.asList(first, second, third, fourth, fifth); |
이처럼 StringJoiner 는 공백이나 구분자를 반복해서 붙여야하는 경우에 유용하게 사용하실 수 있습니다.
Java StringJoiner (문자열 구분자 붙이기)
https://futurecreator.github.io/2018/06/02/java-string-joiner/