Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

Java辞典

  1. トップページ
  2. Java辞典
  3. 文字列.length() / charAt()

文字列.length() / charAt()

文字列の長さを取得したり、指定した位置の文字を取得したりするメソッドです。Javaの文字列はUTF-16で管理されており、サロゲートペア(絵文字など)を扱う場合は『codePointAt()』を使用することで正確に処理できます。

構文
// 文字列の長さ(文字数)を取得します。
文字列.length();

// 指定した位置の文字を取得します(0始まり)。
文字列.charAt(int index);

// 指定した位置のコードポイントを取得します。
文字列.codePointAt(int index);
メソッド一覧
メソッド概要
length()文字列の文字数を整数で返します。空文字列の場合は 0 を返します。
charAt(int index)指定したインデックス位置の文字を char 型で返します。インデックスは 0 始まりです。
codePointAt(int index)指定したインデックス位置のUnicodeコードポイントを int 型で返します。サロゲートペアにも対応しています。
サンプルコード
// 文字列の長さを取得します。
String str = "Hello";
System.out.println(str.length()); // 『5』と出力されます。

// 日本語の文字列長を取得します。
String name = "山田太郎";
System.out.println(name.length()); // 『4』と出力されます。

// 指定位置の文字を取得します。
String word = "Java";
char c = word.charAt(0);
System.out.println(c); // 『J』と出力されます。

// 文字列全体をループで1文字ずつ処理します。
String text = "abc";
for (int i = 0; i < text.length(); i++) {
    System.out.println(text.charAt(i)); // 『a』『b』『c』と順に出力されます。
}

// コードポイントを取得します。
String emoji = "😊abc";
System.out.println(emoji.codePointAt(0)); // 絵文字のコードポイント『128522』が出力されます。
概要

『length()』はJavaで最もよく使われる文字列メソッドのひとつで、文字列の文字数を返します。インデックスに負の値や文字列長以上の値を渡すと StringIndexOutOfBoundsException がスローされるため、事前に範囲チェックを行ってください。

『charAt()』は指定した位置の文字を char 型で返します。char 型はUTF-16の1コード単位を表すため、絵文字のようなサロゲートペア文字を正しく扱うには『codePointAt()』を使用してください。

文字列の一部を切り出すには『substring()』、文字列の検索には『indexOf() / contains()』を使用してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。