-
java.lang 패키지 - join ( ) , StringJoiner백엔드/자바 2020. 8. 13. 04:25
Join ( ) 메서드
형식 : String.join( "단어 사이에 넣고자 하는 텍스트 또는 기호", 변수명)
split( ) 메서드와 반대 역할을 하는 메서드다.
아래와 같이 특정 텍스트를 입력해주면 이를 배열 사이에 끼워넣고 합쳐서 하나의 문자열로 돌려준다.
public static void main(String[] args) { String A [] = {"Tiger", "Bear", "Lion"}; String B = String.join("&", A)); // 배열의 단어 사이에 "&"을 넣고 결합 System.out.println(B); // "Tiger&Bear&Lion" 출력 // 배열의 단어를 합쳐서 문자열로 돌려줌 }
하나의 문장을 가지고 split( ) 메서드로 분리했다가 join( ) 메서드로 다시 합치는 것도 가능하다.
public static void main(String[] args) { String A = "Tiger,Bear,Lion"; // 변수 A에 한 개의 문자열 저장 String B [] = A.split(","); // 배열 B에 split()으로 나눈 결과를 A에 저장 String C = String.join("-", B); // "-"를 기준으로 배열의 단어를 병합할 수 있도록 join() 메서드 이용 System.out.println(C); // "Tiger-Bear-Lion" 출력 }
StringJoiner
StringJoiner라는 클래스를 이용해서 문자들을 병합하는 방법도 있다.
StringJoiner의 객체를 생성하고 생성시 파라미터로 구분자를 넣어주고
add( ) 메서드로 내용만 추가하면 끝이다.
StringJoiner의 참조변수를 인쇄하면 add로 추가한 내용을 구분자를 기준으로
하나의 문자열로 합친 값을 얻는다.
public static void main(String[] args) { StringJoiner test = new StringJoiner("-"); // StringJoiner의 객체 생성. 이때 매개변수로 구분자를 넣어 줌. String A [] = {"Bear", "Tiger", "Lion"}; // A의 배열 선언 및 값 저장 test.add(A[0]);// add 메서드로 StringJoiner의 인스턴스에 A배열의 단어 차례대로 저장 test.add(A[1]); test.add(A[2]); System.out.println(test); // "Bear-Tiger-Lion" 구분자를 넣어서 배열을 하나의 문자열로 통합해 반환 }
이것만 보면 Join ( )과 다를 바 없어보인다.
하지만 StringJoiner는 파라미터값을 더 전달해주면 문
자열의 접두 부분과 접이 부분에 내용을 추가해줄 수 있다.
StringJoiner의 객체를 생성할 때 아래와 같이 파라미터 값을 주면 된다.
new StringJoiner("구분자", "접두부분", "접미부분"); 과 같이 주면 문자열에 해당 내용이 반영된다.
public static void main(String[] args) { StringJoiner test = new StringJoiner("-", "[", "]"); // StringJoiner의 객체 생성. // 이때 매개변수로 구분자와 문자열의 접두, 접미에 들어갈 텍스트 또는 기호를 준다. String A [] = {"Bear", "Tiger", "Lion"}; // A의 배열 선언 및 값 저장 test.add(A[0]);// add 메서드로 StringJoiner의 인스턴스에 A배열의 단어 차례대로 저장 test.add(A[1]); test.add(A[2]); System.out.println(test); // "[Bear-Tiger-Lion]" // StringJoiner의 객체 생성 때 파라미터로 넣었던 구분자, 접두, 접미 부분의 기호가 // 하나의 문자열로 통합되어서 출력 }
'백엔드 > 자바' 카테고리의 다른 글
java.lang 패키지 - StringBuffer 클래스 (0) 2020.08.13 java.lang 패키지 - String 포맷, 변환 (0) 2020.08.13 java.lang 패키지 - String 클래스 메서드 (0) 2020.08.12 java.lang 패키지 - String 클래스 속성 (0) 2020.08.12 java.lang 패키지 - Object 클래스 (0) 2020.08.11