1. 序章

c harStringインスタンスに変換することは非常に一般的な操作です。 この記事では、この状況に取り組む複数の方法を紹介します。

2. String.valueOf()

String クラスには、この特定のユースケース向けに設計された静的メソッド valueOf()があります。 ここでは、実際の動作を確認できます。

@Test
public void givenChar_whenCallingStringValueOf_shouldConvertToString() {
    char givenChar = 'x';

    String result = String.valueOf(givenChar);

    assertThat(result).isEqualTo("x");
}

3. Character.toString()

Character クラスには、専用の静的 toString()メソッドがあります。 ここでは、実際の動作を確認できます。

@Test
public void givenChar_whenCallingToStringOnCharacter_shouldConvertToString() {
    char givenChar = 'x';

    String result = Character.toString(givenChar);

    assertThat(result).isEqualTo("x");
}

4. キャラクターのコンストラクター

Character オブジェクトをインスタンス化して、標準の toString()メソッドを使用することもできます。

@Test
public void givenChar_whenCallingCharacterConstructor_shouldConvertToString() {
    char givenChar = 'x';

    String result = new Character(givenChar).toString();

    assertThat(result).isEqualTo("x");
}

5. 文字列タイプへの暗黙的なキャスト

別のアプローチは、型キャストによる変換の拡大を利用することです。

@Test
public void givenChar_whenConcatenated_shouldConvertToString() {
    char givenChar = 'x';

    String result = givenChar + "";

    assertThat(result).isEqualTo("x");
}

6. String.format()

最後に、 String.format()メソッドを使用できます。

@Test
public void givenChar_whenFormated_shouldConvertToString() {
    char givenChar = 'x';

    String result = String.format("%c", givenChar);

    assertThat(result).isEqualTo("x");
}

7. 結論

この記事では、charインスタンスをStringインスタンスに変換する複数の方法について説明しました。

すべてのコード例は、GitHubリポジトリにあります。