Javaで文字を文字列に変換する
1. 前書き
charをStringインスタンスに変換することは、非常に一般的な操作です。 この記事では、この状況に取り組むための複数の方法を示します。
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’sコンストラクタ
Characterオブジェクトをインスタンス化し、標準のtoString()メソッドを使用することもできます。
@Test
public void givenChar_whenCallingCharacterConstructor_shouldConvertToString() {
char givenChar = 'x';
String result = new Character(givenChar).toString();
assertThat(result).isEqualTo("x");
}
5. Stringタイプへの暗黙的なキャスト
別のアプローチは、型キャストによる変換の拡大を利用することです:
@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リポジトリにあります。