Javaで文字列を文字配列(char配列)に変換する2つの方法を徹底解説
Javaでは、String型の文字列を文字配列(char[])に変換する方法が主に2つあります。ひとつは各文字を1つずつ配列にコピーする方法、もうひとつはtoCharArray()メソッドを使う方法です。それぞれの手順とサンプルコードを詳しく見ていきましょう。
方法1:charAt()メソッドで各文字をコピーする
StringクラスのcharAt()メソッドは、指定した位置にある文字を返します。このメソッドを利用して、文字列の各文字を順番に配列へ格納していきます。
手順
- 変換対象の文字列を取得します。
- 文字列と同じ長さの空のchar配列を作成します。
- charAt()メソッドを使って、文字列の各文字を配列にコピーします。
サンプルコード
import java.util.Arrays;
import java.util.Scanner;
public class StringToCharArray {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("文字列を入力してください:");
String str = sc.next();
// 文字列と同じ長さの空の配列を作成
char chArray[] = new char[str.length()];
// 文字列の各要素を配列にコピー
for(int i = 0; i < str.length(); i++) {
chArray[i] = str.charAt(i);
}
System.out.println("文字配列の内容:");
System.out.println(Arrays.toString(chArray));
}
}
実行結果
文字列を入力してください: Tutorialspoint 文字配列の内容: [T, u, t, o, r, i, a, l, s, p, o, i, n, t]
方法2:toCharArray()メソッドを使う
StringクラスのtoCharArray()メソッドは、現在の文字列全体を新しいchar配列に変換して返します。ループ処理を書く必要がなく、最もシンプルで推奨される方法です。
手順
- 変換対象の文字列を取得します。
- toCharArray()メソッドを呼び出し、戻り値のchar配列をそのまま受け取ります。
サンプルコード
import java.util.Arrays;
import java.util.Scanner;
public class ToCharArrayExample {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("文字列を入力してください:");
String str = sc.next();
// toCharArray()メソッドで文字列をchar配列に変換
char chArray[] = str.toCharArray();
System.out.println("文字配列の内容:");
System.out.println(Arrays.toString(chArray));
}
}
実行結果
文字列を入力してください: Tutorialspoint 文字配列の内容: [T, u, t, o, r, i, a, l, s, p, o, i, n, t]
まとめ
どちらの方法でも同じ結果が得られますが、toCharArray()メソッドの方がコードが簡潔になり、パフォーマンス面でも有利です。一方、charAt()を使った方法は、特定の条件に応じて文字を加工しながら配列に格納したい場合などに柔軟に対応できます。用途に応じて使い分けるとよいでしょう。
-
Javaで事前定義メソッドを使わずに文字列をソートする方法を解説
JavaにおけるString(文字列)は、不変(immutable)な文字の連なりを表すオブジェクトであり、一度生成するとその内容を変更することはできません。文字列オブジェクトを扱う際には、java.lang.Stringクラスを使用します。本記事では、Arrays.sort()のようなソート用の事前定義メソッドに頼らずに、文字列内の文字をアルファベット順に並べ替える方法を紹介します。仕組みはシンプルで、隣り合う文字同士を比較しながら入れ替えていく「バブルソート」の考え方をそのまま応用しています。処理の流れtoCharArray()で文字列をchar型の配列に変換する二重ループですべての文字の
-
Javaで文字配列をリーダー(Reader)に変換する方法を徹底解説
Javaでは、CharArrayReaderクラスを使用することで、文字配列をリーダー(Reader)として扱うことができます。CharArrayReaderはReaderクラスのサブクラスであり、文字入力ストリームとして利用可能な文字バッファを実装しています。このクラスを使うと、メモリ上の文字配列から、開始位置(オフセット)を指定して全てまたは一部の文字を読み取ることができます。ファイルやネットワーク経由ではなく、プログラム内のデータをストリームとして処理したい場合に非常に便利です。CharArrayReaderの主なメソッドclose():ストリームを閉じ、関連するリソースを解放しますma