티스토리 뷰
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/
'Project > JAVA&Jsp' 카테고리의 다른 글
변수 표기법 (0) | 2021.02.10 |
---|---|
JAVA 문자열 연결 방법 비교 (0) | 2020.08.20 |
JAVA 스트림 Stream 사용방법 (0) | 2020.08.20 |
[JAVA] Map에서 키나 값이 있는지 없는지 확인(containsKey,containsValue) (0) | 2020.08.13 |
JAVA 진수변환 (0) | 2020.08.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Intellj들여쓰기
- Letsencrypt+nginx
- camelcase
- letsencrypt
- Letsencrypt wildcard
- Letsencrypt wildcard auto renew
- 마이바티스CamelCase
- SSL
- 마이바티스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함