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()メソッドを使用する
指定された文字を 文字列コンストラクター 。デフォルトでは、文字配列の内容は、 配列クラス 。
例:
ジャワ
// 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、さらには object を文字列に変換します。ここでは、文字配列を文字列に変換することで目的を達成します。
例:
ジャワ
// 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