JavaのcharをStringに、Stringをcharの配列に変換する方法

今日は、JavaのcharからStringへのプログラムを見ていきます。そして、Stringをcharの配列に変換する方法も学びます。

JavaのcharをStringに変換する方法は以下のようになります。

JavaのcharからStringへのプログラムを調べる前に、まずはそれらの基本的な違いについて見てみましょう。

    1. charはJavaではプリミティブなデータ型であり、Stringはクラスです。

 

    1. charは単一の文字を表し、Stringは0文字以上の文字を持つことができます。したがって、Stringはcharの配列です。

 

    Javaのプログラムでは、charをシングルクォート(’)で定義しますが、Stringはダブルクォート(”)を使用して定義することができます。Stringは特別なクラスであるため、ダブルクォートを使用して文字列を定義するオプションがあり、newキーワードを使用してもStringを作成することができます。

JavaのcharをStringに変換する例

charをstringに変換するためには、String.valueOf(char c)またはCharacter.toString(char c)を使用できます。以下は、これらのメソッドを使ってcharをstringに変換する方法を示したサンプルプログラムです。

public class JavaCharToString {

	public static void main(String[] args) {
		char c = 'X';
		String str = String.valueOf(c);
		String str1 = Character.toString(c);
		System.out.println(c + " char converted to String using String.valueOf(char c) = " + str);
		System.out.println(c + " char converted to String using Character.toString(char c) = " + str1);

	}

}

java.lang.Characterは、プリミティブなcharデータ型のためのラッパークラスです。Character.toString(char c)は内部的にはString.valueOf(char c)メソッドを呼び出していますので、charをStringに変換する場合はStringクラスの関数を使用する方が良いです。上記のプログラムの出力は下の画像に表示されます。

JavaのStringをchar配列に変換する方法は次の通りです。

文字列は文字の配列なので、文字列を文字の配列に変換することができます。Stringクラスには、特定のインデックスの文字を取得するためのメソッドもあります。Stringを文字の配列に変換するためのシンプルなプログラムを見てみましょう。

import java.util.Arrays;

public class JavaStringToCharArray {

	public static void main(String[] args) {
		String str = "scdev.com";

		// get char at specific index
		char c = str.charAt(0);

		// Character array from String
		char[] charArray = str.toCharArray();

		System.out.println(str + " String index 0 character = " + c);
		System.out.println(str + " String converted to character array = " + Arrays.toString(charArray));

	}

}

Stringオブジェクトからcharを取得するためには、charAt(int index)メソッドを使用することができます。一方、toCharArray()はStringのchar配列を返します。ここでは、Arrays.toString(char[] ca)メソッドを使用してchar配列を読みやすい形式で出力しています。上記のプログラムの出力は以下の通りです。charからStringへの変換やStringからchar配列への変換についてはこれで完了です。参考:Character APIドキュメント

コメントを残す 0

Your email address will not be published. Required fields are marked *