【Java】charAtメソッドで文字列から文字を取得する方法

【Java】charAtメソッドで文字列から文字を取得する方法プログラミングの知識
プログラミングの知識

StringクラスcharAtメソッドを使うことで、文字列から指定した位置の文字を取得することが出来ます。実際にメソッドの使用方法を紹介していきます。

また、このメソッドはJava Silverでも出題されているメソッドです。

スポンサーリンク

charAtメソッドの書式

charAtメソッドは以下の様に記述します。

// charAtメソッドの書式例
str.charAt(数字);

文字列の先頭を0番目とし、文字列から指定した位置の文字を取得します。先頭が0からなのは配列の添え字と一緒ですね。戻り値の型はchar型です。

数字に文字数より大きい数字や負の数を設定すると、StringIndexOutOfBoundsExceptionの例外が発生します。また、全角数字は半角と同じ数字として処理されます。

また、サロゲートペアと呼ばれる、通常2バイト1文字で表すところを、4バイト1文字で表現する文字を指定した場合、メソッドでは2文字分として処理されます。

メソッドの使用例【サンプルコード・出力結果】

charAtメソッドの使用例をサンプルコードで示します。

  • サンプルコード
public class CharAtTest {
  public static void main(String[] args) {
    String str1 = "ABCDE";
    // charAtメソッドで0,1番目の文字を取り出し出力
    System.out.println("0番目の文字:" + str1.charAt(0));
    System.out.println("1番目の文字:" + str1.charAt(1));

    // 全角の数字を設定する
    System.out.println("0番目の文字:" + str1.charAt(0));

    String str2 = "𠮷吉";
    // 全角の数字を設定する
    System.out.println("0番目の文字:" + str2.charAt(0));
    System.out.println("1番目の文字:" + str2.charAt(1));
    System.out.println("2番目の文字:" + str2.charAt(2));
  }
}
  • 出力結果
0番目の文字:A
1番目の文字:B
0番目の文字:A
0番目の文字:?
1番目の文字:?
2番目の文字:吉

例として、「𠮷」というサロゲートペアを指定すると、この文字は4バイトですので0番目、1番目ともに「𠮷」を処理して値が返ってきています。

今回はcharAtメソッドの使い方を紹介しました。

似たメソッドで文字列から文字を削除するStringBuilderクラスdeleteCharAtメソッドがあるので注意しましょう。

以上で記事を終わりにします。

参考文献

スポンサーリンク
Dim雑記