
JavaのcharとStringとは?変換方法も紹介!
目次
charとは?
Javaにおいてcharとは、一文字の文字を表す型です。’’(シングルクォーテーション)で文字を囲むことで定義することができます。空文字や複数の文字を扱うことはできません。
1 2 3 4 5 6 |
char lowerCaseA = 'a'; char japanese = 'あ'; char digit = '5'; char space = ' '; char empty ''; // 一文字でないのでコンパイルエラーになる char nullChar = null; // nullは扱えないのでコンパイルエラーになる |
charのラッパークラス、Characterクラスについてもチェック
Javaのcharは、プリミティブ型なのでnullを扱ったり、メソッドを定義したりすることはできません。それらを行うには、charのラッパークラスであるCharacterクラスを使用する必要があります。
JavaのCharacterクラスには、文字の種類を調べたり、変換をしたりするstaticメソッドが数多く定義されています。以下のサンプルプログラムにその一部を載せているので参考にしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class SampleProgram { public static void main(String[] args) { char lowerCaseA = 'a'; char digit = '5'; char space = ' '; System.out.println(Character.isLetter(lowerCaseA)); // true System.out.println(Character.isLetter(digit)); // false System.out.println(Character.isDigit(lowerCaseA)); // false System.out.println(Character.isDigit(digit)); // true System.out.println(Character.isSpaceChar(lowerCaseA)); // false System.out.println(Character.isSpaceChar(space)); // true Character upperCaseA = Character.toUpperCase(lowerCaseA); System.out.println(upperCaseA); // A と表示される } } |
Stringとは?
JavaにおいてStringとは文字列を表すクラスです。プログラムの中で”(ダブルクォーテーション)を使い、文字列を囲むことで定義することができます。
以下のサンプルプログラムからわかるように、JavaのStringは様々な文字数の文字列のほか、空白や空文字、nullなどを扱うことができます。
1 2 3 4 5 |
String alphabet = "abcd"; String japanese = "日本語"; String space = " "; String empty = ""; String nullString = null; |
Stringに定義されているメソッドについてもチェック
プログラミングをしていると文字列の比較、検索、置換などをしたくなる機会が頻繁に訪れますが、JavaのStringクラスには、それらを行うためのメソッドがあらかじめ用意されています。以下のサンプルプログラムにその一部の使用例を載せているので、参考にしてください。
1 2 3 4 5 6 7 8 9 10 11 12 |
public class SampleProgram { public static void main(String[] args) { // appleとbookを辞書的に比較し、appleの方が前なので負の数が返る System.out.println("apple".compareTo("book")); // appleからpを検索し、pが最初に出現する位置のインデックスを返す System.out.println("apple".indexOf("p")); // smartphoneにphoneが含まれているのか調べ、含まれているのでtrueが返る System.out.println("smartphone".contains("phone")); //smartphoneのsmartの部分を空文字に置換する System.out.println("smartphone".replaceFirst("smart", "")); } } |
charからStringへの変換方法
Javaにおいて、charからStringに変換するにはString.valueOf(c)メソッドを使います。これはStringクラスのstaticメソッドです。引数にStringに変換したいcharを入れることで、使用できます。
以下のサンプルプログラムは、charAというcharをstrAというStringに変換します。最後にinstanceof演算子を使い、想定通りに変換できているのかをチェックしています。
1 2 3 4 5 6 7 8 |
public class SampleProgram { public static void main(String[] args) { char charA = 'A'; String strA = String.valueOf(charA); System.out.println(strA); // A と表示される System.out.println(strA instanceof String); // true と表示される } } |
なお、複数のcharをつなげて1つのStringに変換したい場合は、Stringのコンストラクタの引数にcharの配列を入れることで実現できます。
以下のサンプルプログラムは、charABCDというcharの配列を、strABCDという1つのStringに変換します。最後に先ほどと同じようにinstaneof演算子を使い、想定通りに変換できたかをチェックしています。
1 2 3 4 5 6 7 8 |
public class SampleProgram { public static void main(String[] args) { char[] charABCD = { 'A', 'B', 'C', 'D' }; String strABCD = new String(charABCD); System.out.println(strABCD); // ABCD と表示される System.out.println(strABCD instanceof String); // true と表示される } } |
Stringからcharへの変換方法
Javaにおいて、Stringからcharへ変換するにはtoCharArrayというメソッドを使用します。これはStringのインスタンスメソッドです。
以下のサンプルプログラムはstrABCDというStringを、charABCDというcharの配列に変換し、それをfor文でループさせます。最後にこれまでと同じようにinstanceof演算子を使い、想定通りに変換できたかチェックしています。
1 2 3 4 5 6 7 8 9 10 |
public class SampleProgram { public static void main(String[] args) { String strABCD = "ABCD"; char[] charABCD = strABCD.toCharArray(); for (char c : charABCD) { System.out.println(c); // A, B, C, D の順に表示される } System.out.println(charABCD instanceof char[]); // true と表示される } } |
charとStringを使ってみよう
いかがでしたでしょうか。JavaのcharとStringについてと、その変換方法について解説しました。以下に重要なポイントをまとめたので、ぜひチェックしてみてください
- charは一文字を表す型である
- Stringは文字列を表す型で、空文字やnullを扱える
- charからStringに変換するにはString.valueOf(c)メソッドを使用する
- Stringからcharに変換するにはtoCharArray()メソッドを使用する