Java での文字と文字列の違い
- Java で Char を作成する
- Java で文字列を作成する
- Java での文字から文字列への変換
- Java での文字列から文字への変換
- Java での char プリミティブから文字オブジェクトへの変換
このチュートリアルでは、Java の char と String の違いを紹介します。
Java では、char は単一の文字を保持するために使用されるプリミティブデータ型です。これは、UTF-16 文字セットの 1 文字を意味します。対照的に、String は文字のシーケンスを保持するクラスであり、char の配列と考えることができます。
D
、e
、l
、f
、t
の文字で構成される Delft
のような文字列を考えることができます。したがって、基本的に、char のグループは文字列を形成します。いくつかの例で理解しましょう。
Java で Char を作成する
Java では、char を作成するために、文字を囲む一重引用符を使用します。文字は UTF-16 のいずれかです。ここでは、文字セットを理解するためにさまざまな文字を使用しました。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
char ch1 = 'a';
System.out.println(ch1);
char ch2 = 'A';
System.out.println(ch2);
char ch3 = '1';
System.out.println(ch3);
char ch4 = '@';
System.out.println(ch4);
}
}
出力:
a
A
1
@
Java で文字列を作成する
ここでは、二重引用符を使用して文字列を作成します。文字列には、数字、特殊文字、スペースなど、UTF-16 セットの任意の文字を含めることができます。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
String str1 = "Hello,";
System.out.println(str1);
String str2 = "This is";
System.out.println(str2);
String str3 = "4 Line String";
System.out.println(str3);
String str4 = "Example!";
System.out.println(str4);
}
}
出力:
Hello,
This is
4 Line String
Example!
Java での文字から文字列への変換
Char と String はどちらも文字を使用して作成します。また、char から文字列を取得する必要がある場合は、文字クラスの toString()
メソッドを使用できます。このメソッドは、プリミティブ char 値の String オブジェクトを返します。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
char ch = 'A';
System.out.println(ch);
String str = Character.toString(ch);
System.out.println(str);
}
}
出力:
A
A
Java での文字列から文字への変換
同様に、String クラスの charAt()
メソッドを使用して、文字列を char に変換できます。このメソッドは、指定されたインデックスの文字を返します。インデックス値を指定するだけで、文字列から任意の文字を取得できます。
public class SimpleTesting {
public static void main(String[] args) {
String str = "Hello";
System.out.println(str);
char ch = str.charAt(0);
System.out.println(ch);
}
}
出力:
Hello
H
Java での char プリミティブから文字オブジェクトへの変換
プリミティブ文字を使用していて、それらをオブジェクトに変換する場合は、Character クラスを使用します。char を文字参照に割り当てるだけで、残りは Java が自動的に行います。
プリミティブ値が参照に割り当てられると、それは自動的にオブジェクトに変換されます。このプロセスは Java ではボクシングと呼ばれ、その逆のプロセスはアンボクシングと呼ばれます。
public class SimpleTesting {
public static void main(String[] args) {
char ch = 'A';
System.out.println("primitive char " + ch);
Character chr = ch;
System.out.println("char object " + chr);
char ch2 = chr;
System.out.println("primitive char " + ch2);
}
}
出力:
primitive char A
char object A
primitive char A