Java/문자열

[Java]문자열 배열을 문자열로 변환(String Array to String)

DevStory 2022. 5. 7.

이번 포스팅은 문자열 배열을 문자열로 변환하는 방법을 설명합니다.


toString() 메서드

첫 번째 방법은 Arrays 클래스의 toString() 메서드를 사용하는 것입니다. toString() 메서드에 문자열 배열을 전달하면 문자열 표현이 반환됩니다. 문자열 표현은 대괄호에 배열 요소로 구성됩니다.

String[] strArray = {"Hello", " ", "Java", " ", "Programming"};
String strArrayToString  = Arrays.toString(strArray);

System.out.println(strArrayToString);

실행 결과

[Hello,  , Java,  , Programming]

StringBuilder.Append() 메서드 사용

문자열 배열을 문자열로 변환하는 또 다른 방법은 StringBuilder 클래스를 사용하는 것입니다. StringBuilder 타입의 객체를 생성하고 StringBuilder 클래스의 Append() 메서드를 사용하여 문자열 배열 요소를 하나씩 추가합니다.

 

문자열 배열의 모든 요소가 StringBuilder 객체에 추가되면 toString() 메서드를 사용하여 하나의 문자열로 만들 수 있습니다.

String[] strArray = {"Hello", " ", "Java", " ", "Programming"};
StringBuilder stringBuilder = new StringBuilder();

for (int i = 0; i < strArray.length; i++) {
  stringBuilder.append(strArray[i]+ " ");
}

String strArrayToString = stringBuilder.toString();

System.out.println(strArrayToString);

실행 결과

Hello   Java   Programming

join() 메서드

String 클래스의 join() 메서드를 사용하여 문자열 배열을 문자열로 변환할 수 있습니다.

 

join() 메서드는 두 개의 인수를 가집니다. 첫 번째 인수는 문자열의 요소를 구분하는 기호이며 두 번째 인수는 문자열 배열입니다. 아래 예제는 문자열의 요소를 언더바(_)로 구분합니다.

String[] strArray = {"Hello", " ", "Java", " ", "Programming"};
String strArrayToString = String.join("_", strArray);

System.out.println(strArrayToString);

실행 결과

Hello_ _Java_ _Programming

Stream API

Java 1.8 이상인 경우 Stream API의 Collectors.joining() 메서드를 사용하여 문자열 배열을 문자열로 변환할 수 있습니다.

String[] strArray = {"Hello", " ", "Java", " ", "Programming"};
String strArrayToString = Arrays
        .stream(strArray) // 문자열 배열 전달
        .collect(Collectors.joining()); // 문자열 배열을 Join

System.out.println(strArrayToString);

실행 결과

Hello Java Programming
반응형

댓글