ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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의 객체 생성 때 파라미터로 넣었던 구분자, 접두, 접미 부분의 기호가
            // 하나의 문자열로 통합되어서 출력
    		
    }
Designed by Tistory.