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: 코딩
행동 양식:
- Arrays 클래스의 copyOf() 메소드 사용
- StringBuilder 클래스 사용
- String 클래스의 valueOf() 메소드 사용
- String 클래스의 copyValueOf() 메소드 사용
- 스트림에서 수집기 사용
이제 깨끗한 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