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で文字列の長さを取得する方法について書きました。
記事の内容をまとめると、下記のようになります。
・マルチバイト(全角)文字列の場合にも、文字数が取得できた。
・空文字のときには0が返ってくる。
・nullのときにはエラーになる。
コメント