Javaで文字(char)を文字列(String)に変換する方法|toString()とvalueOf()の使い方を解説
Javaでchar型(文字)をString型(文字列)に変換するには、toString()メソッドとvalueOf()メソッドを使用します。どちらのメソッドも任意のデータ型を文字列に変換するためのものであり、char型を文字列に変換する場合、両者はまったく同じように機能します。
プログラミングにおいて、データ型は特定の種類のデータを区別するために使われます。たとえば、文字列はテキストデータを格納するために、浮動小数点数は小数を格納するために使用されます。
値が持つデータ型によって、その値の取得方法や操作方法が変わってきます。そのため、Javaではデータを別の型に変換したい場面によく遭遇します。Javaでよく行われる型変換のひとつである「char型から文字列への変換」には、実は複数の解決策が存在します。
そこで活躍するのがtoString()メソッドとvalueOf()メソッドです。この記事では、サンプルコードを交えながら、これらのメソッドを使ってJavaでchar型を文字列に変換する方法を詳しく解説します。
Javaのデータ型の基本
Javaには、データを格納するための複数のデータ型が用意されています。たとえば、charは1つの文字を格納するために、intは整数を格納するために使われます。
各データ型にはそれぞれ固有の操作が用意されており、それらを使ってデータを操作できます。たとえば、浮動小数点数や整数は算術演算で操作でき、文字列はJavaの文字列メソッドで編集できます。
この記事では、char型とString型という2つのデータ型に焦点を当てていきます。
Javaでは、charは単一の文字を格納します。「char」は「character(文字)」の略で、JavaのCharacterクラスを指します。以下はJavaにおけるchar型の例です:
char theLetterF = 'F';
一方、文字列(String)は、1つ以上の文字の並びを格納するために使われます。以下はJavaにおける文字列の例です:
String restaurantName = "The Two Cranes";
では、char型を文字列に変換したい場合はどうすればよいのでしょうか?次に、2つのアプローチを見ていきましょう。
toString()メソッドでchar型を文字列に変換する
JavaのtoString()メソッドは、値を文字列に変換するために使用されます。toString()メソッドは引数を1つだけ受け取ります。それは、文字列に変換したい値です。
char型を文字列に変換するには、CharacterクラスのtoString()メソッドを使用します。構文は以下のとおりです:
Character.toString(値);
ここで、洋服店の仕立て屋向けに、顧客の姓名の頭文字を保存するプログラムを作成しているとしましょう。このデータは、仕立て屋が顧客の衣服に何を刺繍すべきかを把握できるように保存されています。
現時点では、これらの値はchar型として保存されています。しかし、仕立て屋がプログラムに新機能を追加することになり、char型の値を文字列に変換してほしいとの依頼を受けました。以下のコードを使えば、イニシャルを文字列に変換できます:
class ConvertMonograms {
public static void main(String[] args) {
char first = 'T';
char second = 'F';
String first_string = Character.toString(first);
String second_string = Character.toString(second);
System.out.println("The first monogram letter is: " + first_string);
System.out.println("The second monogram letter is: " + second_string);
}
}
このコードの出力結果:
The first monogram letter is: T
The second monogram letter is: F
このコードでは多くの処理が行われているため、順を追って分解して確認しましょう。まず、ConvertMonogramsというクラスを宣言し、そこにプログラムのコードを記述しています。このクラスは以下の処理を行います:
- 変数firstとsecondがchar型として宣言され、それぞれ「T」と「F」という値を格納します。
- Character.toString()メソッドを使って変数firstの中身を文字列に変換し、新しい文字列を変数first_stringに代入します。
- Character.toString()を使って変数secondの中身を文字列に変換し、新しい値を変数second_stringに代入します。
- プログラムがコンソールに「The first monogram letter is: 」と出力し、続けて変数first_stringに格納された値を出力します。
- 「The second monogram letter is: 」がコンソールに出力され、続けて変数second_stringに格納された値が出力されます。
簡単に言えば、このプログラムによって、文字「T」と「F」が文字列へと変換されたのです。
valueOf()メソッドでchar型を文字列に変換する
JavaのString.valueOf()メソッドも、値を文字列に変換するために使用されます。String.valueOf()メソッドは引数を1つだけ受け取ります。それは、文字列に変換したい値です。
valueOf()は、先ほど説明したCharacter.toString()メソッドとまったく同じように機能します。
再び仕立て屋の例に戻りましょう。今度はtoString()の代わりにvalueOf()メソッドを使って、イニシャルをchar型から文字列に変換してみます。以下のコードでこの目標を達成できます:
class ConvertMonograms {
public static void main(String[] args) {
char first = 'T';
char second = 'F';
String first_string = String.valueOf(first);
String second_string = String.valueOf(second);
System.out.println("The first monogram letter is: " + first_string);
System.out.println("The second monogram letter is: " + second_string);
}
}
このコードの出力結果:
The first monogram letter is: T
The second monogram letter is: F
このコードは最初の例と同じように動作します。唯一の違いは、char型の値を文字列に変換する際に、Character.toString()の代わりにString.valueOf()を使用している点です。
char型配列を文字列に変換する
さらに、valueOf()メソッドはchar型の配列を文字列に変換することもできます。
たとえば、顧客「Tom Montgomery Peterson」のイニシャルをchar型配列として保存しており、それを1つの文字列に変換して、顧客の衣服に入れるモノグラムを確認したいとします。以下のコードを使えば、char型配列を文字列に変換できます:
class ConvertMonogramsToArray {
public static void main(String[] args) {
char[] initials = {'T', 'M', 'P'};
String monogram = String.valueOf(initials);
System.out.println("Monogram: " + monogram);
}
}
このコードの出力結果:
Monogram: TMP
このコードを分解して見てみましょう。まず、ConvertMonogramsToArrayというクラスを宣言します。このクラスには例のコードが格納されています。このクラスは以下の処理を実行します:
- char型のリストを格納する変数initialsが宣言されます。
- String.valueOf()を使って変数initialsの中身を文字列に変換し、新しい文字列を変数monogramに代入します。
- 文字列「Monogram: 」がコンソールに出力され、続けて顧客のモノグラムが出力されます。
まとめ
Javaでchar型を文字列に変換することは、開発現場でよくあるタスクのひとつです。toString()メソッドとvalueOf()メソッドは、どちらもchar型を文字列に変換するために利用できます。
この記事では、toString()を使ったchar型から文字列への変換方法、valueOf()を使ったchar型から文字列への変換方法、そしてvalueOf()を使ったchar型配列から文字列への変換方法について解説しました。また、それぞれのメソッドを実際のJavaプログラムで使用した具体例も紹介しました。
これで、あなたもまるでプロのように、Javaでchar型を文字列に変換できるようになりました!
-
JavaのMapをJSONに変換する3つの方法(Jackson・Gson・org.json)
JavaのMap(マップ)をJSONに変換する方法はいくつかあります。Javaでは、配列やMapとJSONの相互変換を行う場面が非常に多く、Web APIとのデータ連携などでも欠かせない処理です。 この記事では、代表的なライブラリであるJackson、Gson、org.jsonを使用して、JavaのMapをJSONに変換する3つの具体例をサンプルコード付きで解説します。 Jacksonを使ってJavaのMapをJSONに変換する 最初の例では、Jackson Core と Jackson Databind を使ってJavaのMapをJSONに変換します。 Jacksonライブラリを使用するには
-
Javaで文字列を比較する方法|equals()とequalsIgnoreCase()の使い分けを徹底解説
Javaで文字列の等価性を比較する際は、Stringクラスが提供するequalsメソッドまたはequalsIgnoreCaseメソッドを使用するのが基本です。この記事では、それぞれのメソッドの使い方に加えて、==演算子で文字列を比較してはいけない理由についても詳しく解説します。 equals()メソッドで文字列を比較する 2つの文字列を比較し、大文字と小文字の違いまで厳密に判定したい場合はequals()メソッドを使用します。 次のコード例では、2つのStringインスタンスが大文字小文字を含むすべての文字において一致しているかどうかを判定しています。 public class Compare