Java에서 문자 배열을 문자열로 변환

문자열은 문자 배열로 정의됩니다. 문자 배열과 문자열의 차이점은 문자열이 특수 문자 으로 끝난다는 것입니다. 문자 배열을 문자열로 변환하거나 그 반대로 변환할 수 있습니다. 이전 글에서는 이미 변환하는 방법에 대해 설명했습니다. 문자열을 문자 배열로 . 이번 포스팅에서는 문자배열을 문자열로 변환하는 방법에 대해 알아보겠습니다.

일러스트레이션:

입력 1 : char s[] = { 'g', 'e', ​​'e', ​​'k', 's', 'f', 'o', 'r', 'g', 'e', ​​'e', 'k', 's' }

출력 1: 괴짜

입력 2 : char s[] = { 'c', 'o', 'd', 'i', 'n', 'g' }

출력 2: 코딩

행동 양식:

  1. Arrays 클래스의 copyOf() 메소드 사용
  2. StringBuilder 클래스 사용
  3. String 클래스의 valueOf() 메소드 사용
  4. String 클래스의 copyValueOf() 메소드 사용
  5. 스트림에서 수집기 사용

이제 깨끗한 Java 프로그램의 도움으로 구현하는 것과 함께 각 방법을 자세히 논의하겠습니다.

방법 1: Array 클래스의 copyOf() 메소드 사용

주어진 문자는 문자열 생성자 . 기본적으로 문자 배열 내용은 Arrays.copyOf() 메서드를 사용하여 복사됩니다. 배열 클래스 .

예:

자바




// Java Program to Convert Character Array to String> // Using copyOf() method ofArrays() Class> // Importing required classes> import> java.util.*;> // Main class> class> GFG {> > // Method 1> > // To convert a character> > // array to a string using the constructor> > public> static> String toString(> char> [] a)> > {> > // Creating object of String class> > String string => new> String(a);> > return> string;> > }> > // Method 2> > // Main driver method> > public> static> void> main(String args[])> > {> > // Declaring and initializing a character array> > char> s[] = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Printing converted string from character array> > System.out.println(toString(s));> > }> }>

산출:

geeksforgeeks 

방법 2: StringBuilder 클래스 사용

문자 배열을 문자열로 변환하는 또 다른 방법은 StringBuilder 클래스 . 따라서 StringBuilder는 변경 가능한 클래스이므로 문자 배열을 반복하고 문자열 끝에 각 문자를 추가하는 것이 좋습니다. 마지막으로 문자열에는 문자의 문자열 형식이 포함됩니다.

예:

자바




// Java Program to Convert Character Array to String> // Using StringBuilder Class> // Importing required classes> import> java.util.*;> // Main class> public> class> GFG {> > // Method 1> > // To convert a character array to a string> > // using the StringBuilder class> > public> static> String toString(> char> [] a)> > {> > // Creating object of String class> > StringBuilder sb => new> StringBuilder();> > // Creating a string using append() method> > for> (> int> i => 0> ; i sb.append(a[i]); } return sb.toString(); } // Method 2 // Main driver method public static void main(String args[]) { // Declaring and initialzaing input character array char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }; // Printing the string // corresponding to character array System.out.println(toString(s)); } }>

산출

geeksforgeeks 

방법 3: String 클래스의 valueOf() 메소드 사용

문자 배열을 문자열로 변환하는 또 다른 방법은 다음을 사용하는 것입니다. 가치() String 클래스에 존재하는 메소드 이 방법은 본질적으로 문자 배열을 배열에 있는 문자의 전체 값이 표시되는 형식으로 변환합니다. 이 방법은 일반적으로 int, float, double, char, boolean 및 심지어 객체까지 문자열로 변환합니다. 여기서는 문자 배열을 문자열로 변환하여 목표를 달성하겠습니다.

예:

자바




// Java Program to Convert Character Array to String> // Using valueOf() method of String Class> // Importing required classes> import> java.util.*;> // Main class> class> GFG {> > // Method 1> > // To convert a character array to string> > // using the valueOf() method> > public> static> String toString(> char> [] a)> > {> > // Creating an object of String class> > String string = String.valueOf(a);> > return> string;> > }> > // Method 2> > // Main driver method> > public> static> void> main(String args[])> > {> > // Declaring and initializing input character array> > char> s[] = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Print the corresponding string to> > // character array> > System.out.println(toString(s));> > }> }>

산출

geeksforgeeks 

방법 4: String 클래스의 copyValueOf() 메소드 사용

문자 배열의 내용은 반환될 문자열에 영향을 주지 않고 복사된 후 수정됩니다. 따라서 이 방법을 사용하면 다음과 같이 아래에 제공된 예제에서 훨씬 더 잘 인식할 수 있는 문자열로 문자 배열을 변환할 수 있습니다.

예:

자바




// Java Program to Convert Character Array to String> // Using copyValueOf() method of String Class> // Importing String class> import> java.util.*;> // Main class> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Declaring and initializing input character array> > char> [] arr = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Storing it in a string> > // using copyValueOf() over string> > String str = String.copyValueOf(arr);> > // Printing the converted string corresponding> > // character array> > System.out.print(str);> > }> }>

산출

geeksforgeeks 

방법 5: 스트림에서 수집기 사용

java8에 스트림이 도입되면서 우리는 스트림의 수집기를 즉시 사용하여 문자 입력 배열 요소를 수정하고 나중에 Join() 메서드를 사용하여 단일 문자열을 반환하고 인쇄합니다.

예:

자바




// Java Program to Convert a Character array to String> // Using Collectors in Streams in Java8> // Importing Collectos and Stream classes> // from java.util.stream package> import> java.util.stream.Collectors;> import> java.util.stream.Stream;> // Main class> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Custom input character array> > char> [] charr = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Using collectors to collect array elements and> > // later using joining method to return a single> > // string> > String str = Stream.of(charr)> > .map(arr ->> new> String(arr))> > .collect(Collectors.joining());> > // Printing the stream received from Collectors> > System.out.println(str);> > }> }>

산출

geeksforgeeks