본문 바로가기
Java

[Java] concat() / String.format() / String.join() / StringJoiner()

by bkuk 2022. 10. 4.

concat()

한 문자열을 다른 문자열 끝에 연결합니다.

concat() 메서드는 메서드에 전달된 문자열 값이 문자열 끝에 추가된 문자열을 반환합니다.

 

예제

String str1 =  "사과".concat(",수박").concat(",딸기").concat(",참외");
System.out.println( str1 );
// '사과,수박,딸기,참외' 가 출력됨

 


 

String.format()

String의 static 메서드인 format 메서드는 문자열의 형식을 설정하는 메서드입니다.

 

String.format( String format, Object ...args)의 종류

%d 10진수 형식
%s 문자열 형식
%f 실수형 형식
Local 설정 format값( money, today 등..)
%t 날짜시간 형식
%c 유니코드 문자 형식
%o, %x 8진수, 16진수 형식

 

String str2 = String.format("%s,%s,%s,%s","사과","딸기","수박","참외");
System.out.println( str2 );
// '사과,수박,딸기,참외'가 출력됨.

String str21 = String.format("1. %s ,2. %s ,3. %s ,4. %s","사과","딸기","수박","참외");
System.out.println( str21 );
// '1. 사과 ,2. 딸기 ,3. 수박 ,4. 참외' 가 출력됨.

 


 

String.join()

배열에 각 인덱스 마지막에 원하는 문자열을 추가해서 String을 리턴하는 메서드입니다.

String[] arrStr = {"사과","수박","딸기","참외"};
String str3 = String.join(",",arrStr);
System.out.println( str3 );
// '사과,수박,딸기,참외' 가 출력됨

 

 


StringJoiner (문자열 구분자 붙이기)

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

StringJoiner sj = new StringJoiner(",");
sj.add("사과");
sj.add("수박");
sj.add("딸기");
sj.add("참외");
System.out.println( sj.toString());
// '사과,수박,딸기,참외'가 출력됨.


// public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
StringJoiner sj1 = new StringJoiner("-", "[", "]");
sj1.add("사과");
sj1.add("수박");
sj1.add("딸기");
sj1.add("참외");
String result = sj1.toString();
System.out.println(result);
// '[사과-수박-딸기-참외]'가 출력됨.

자동으로 구분자를 사이사이에 붙여주기 때문에 코드가 훨씬 줄었습니다.

그리고 prefix 와 suffix 도 붙여줄 수 있습니다.

댓글