[JAVA] toChararray() 메서드로 문자열을 char 배열에 저장하기

 


조금 짧은 글이지만, 몰랐던 기능에 대해서 가끔씩 글을 적어놓는 것도 나쁘지 않겠죠. toCharArray() 메서드는 문자열을 char형 배열로 바꿔주는 기능을 합니다. 'apple'이라는 문자열이 있으면 arr[0] = 'a', arr[1] = 'p', arr[2] = 'p', arr[3] = 'l', arr[4] = 'e'로 자동으로 바꿔주죠. toCharArray()는 아래와 같이 구현되어 있습니다.


public char[] toCharArray() {
// Cannot use Arrays.copyOf because of class initialization order issues
	char result[] = new char[value.length];
	System.arraycopy(value, 0, result, 0, value.length);
	return result;
}




아래의 코드를 한번 보도록 할까요? 아래의 코드에서 개행 문자 ('\n')가 없는 문자열과 개행 문자가 있는 문자열을 각각 toCharArray()를 이용하여 변환해 보았습니다.


public class test{
    public static void main(String[] args) {
        String str = "hello world!";    // 문자열 선언
        String str2 = "hello world,\nhello keykat!\n";
    
        // toCharArray() 메서드를 이용한 문자열 나누기
        char[] arr = str.toCharArray();
        char[] arr2 = str2.toCharArray();
    
        System.out.println("str 문자열 : ");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }

        System.out.println('\n');
        System.out.println("str2 문자열 : ");
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i]);
        }

    }
}


위의 코드를 실행 시키면 결과와 같이 예상했던 대로 개행문자도 정상적으로 배열에 들어가는 것을 확인할 수 있습니다.




댓글