Java - 배열을 문자열로 변환, 출력

일반적으로 System.out.println() 등으로 배열에 어떤 요소가 있는지 확인하려고 하는데, 배열 객체의 toString()으로 리턴되는 문자열은 배열 요소의 내용들을 포함하지 않습니다.

String[] arr = {"a", "b", "c", "d", "e"};
System.out.println(arr.toString());  // output: [Ljava.lang.String;@7ad041f3

배열의 모든 요소들이 포함된 문자열로 변환하는 방법을 소개합니다.

1. 배열을 List로 변환하여 문자열 변환, 출력

배열을 리스트로 변환하고 toString()으로 문자열로 변환하면, 리스트의 모든 요소가 문자열에 포함됩니다. Arrays.asList()를 이용하여 배열을 리스트로 변환할 수 있습니다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {

    public static void main(String[] args) {

        String[] arr = {"a", "b", "c", "d", "e"};

        List<String> list = new ArrayList<>(Arrays.asList(arr));
        System.out.println(list.toString());
    }
}

Output:

[a, b, c, d, e]

2. Arrays.toString()으로 배열을 문자열로 변환, 출력

Arrays.toString(arr)은 인자로 전달된 배열의 모든 요소를 포함하는 문자열로 변환합니다.

import java.util.Arrays;

public class Example2 {

    public static void main(String[] args) {

        String[] arr = {"a", "b", "c", "d", "e"};

        System.out.println(Arrays.toString(arr));
    }
}

Output:

[a, b, c, d, e]

3. String.join()으로 배열을 문자열로 변환

String.join(delimiter, array)는 배열의 요소를 문자열로 변환하는데, 요소들 사이에 구분자를 추가하여 문자열을 생성합니다.

public class Example2 {

    public static void main(String[] args) {

        String[] arr = {"a", "b", "c", "d", "e"};

        String str = String.join(", ", arr);
        System.out.println(str);
    }
}

Output:

a, b, c, d, e

4. Stream으로 배열을 문자열로 변환

Stream을 사용하여 배열을 문자열로 변환할 수도 있습니다. 아래와 같이 Collectors.joining(delimiter)는 배열의 요소들을 문자열로 만드는데 요소들 사이에 delimiter를 추가하여 문자열을 만듭니다.

import java.util.Arrays;
import java.util.stream.Collectors;

public class Example2 {

    public static void main(String[] args) {

        String[] arr = {"a", "b", "c", "d", "e"};

        String str = Arrays.stream(arr).collect(Collectors.joining(", "));
        System.out.println(str);
    }
}

Output:

a, b, c, d, e

5. for문으로 배열을 문자열로 변환, 출력

반복문으로 배열의 모든 요소들을 순회하면서, 요소들 정보를 포함하는 문자열을 만들 수 있습니다.

public class Example1 {

    public static void main(String[] args) {

        String[] arr = {"a", "b", "c", "d", "e"};

        String str = "[";
        for (int i = 0; i < arr.length; i++) {
            str += arr[i];
            if (i != (arr.length - 1)) {
                str += ", ";
            }
        }
        str += "]";

        System.out.println(str);
    }
}

Output:

[a, b, c, d, e]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha