Javaで文字列の長さを取得する方法!サンプル3選!(length)

Java Java

Javaで文字列の長さを取得する方法について書いています。
lengthメソッドを使うことで、文字列の長さを取得することができます。

lengthメソッドで長さを取得する

文字列の変数からlengthメソッドを呼ぶことで、文字列の長さが取得できます。
例えば、下記のように使うことができます。

String text = "hello";
int textLength = text.length();

System.out.println(textLength); // 5

最初にtext変数に「hello」という文字列を代入しました。

次の行で、text変数からlengthメソッドを使っています。
これで、文字列の長さが返ってくるので、textLength変数で受け取っています。

出力すると「5」となり、文字列の長さが取得できました。

lengthメソッドを使ったサンプル3選

lengthメソッドを使ったサンプルを3つ書いています。

全角の文字数を取得したい

lengthメソッドで全角文字列の文字数も返ってきます。

String apple = "りんご";
int appleLength = apple.length();

System.out.println(appleLength); // 3

apple変数に「りんご」の3文字を入れて、次の処理でlengthを使って文字数を取得しました。
結果、「3」が返ってきました。

このように全角でも文字数で返ってきます。

サロゲートペアに注意

UTF-16の一部の文字で4バイト使われているものだと、正しくカウントできないようなので気をつける必要があります。

空文字のとき

空文字の文字列でlengthメソッドを使うと、0が返ってきます。
例えば、下記のような場合です。

String text = "";
int length = text.length();

System.out.println(length); //0

text変数に空文字「””」を代入しています。
次の行で、lengthメソッドを呼んで文字数を取得していますが、空文字の場合は「0」が返ってきます。

nullのとき

nullが入っている変数からlengthメソッドを使うとエラーになります。
例えば、下記のような場合です。

String text = null;
int length = text.length();

System.out.println(length);

text変数にnullが入っていて、次の処理でlengthメソッドを呼び出しています。
そうすると、プログラムの実行時に下記のようにエラーになります。

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "<local1>" is null

nullが入る可能性がある場合には、チェックして実行すると良いかと思います。

if (text != null) {
    int length = text.length();
    System.out.println(length);
}

文字列の長さを取得する方法まとめ

今回はJavaで文字列の長さを取得する方法について書きました。
記事の内容をまとめると、下記のようになります。

・文字列からlengthメソッドを呼ぶことで、文字列の長さが取得できた。
・マルチバイト(全角)文字列の場合にも、文字数が取得できた。
・空文字のときには0が返ってくる。
・nullのときにはエラーになる。

コメント

タイトルとURLをコピーしました