【Java】length()とlengthを使って文字列、配列の長さを取得!
Javaには文字列の長さと配列の長さを取得するlength()とlengthというものがあります。
これらは名前がよく似ておりどちらも同じ処理を持っているかのように見えますが、length()メソッドは、String型の文字数を取得するメソッドとなります。
また、lengthは、配列型の長さ(要素の数)を格納する変数のようなものになります。
紛らわしいので、間違えないように気をつけておきましょう。
今回はlength()とlengthを使って以下の場合で文字列、配列の長さを取得していきます。
⚫︎ length()を使って文字列の長さを取得する場合
⚫︎ lengthを使って配列の長さを取得する場合
⚫︎ 配列にlength()を使用する場合
⚫︎ 文字列にlengthを使用する場合
目次
length()メソッドとは
length()メソッドはString型の文字数を取得するメソッドとなります。
length()メソッドの書き方
length()の構文は下記となります。
1 |
String.length() |
length()メソッドは、文字列の長さを返します。
つまり半角、全角関係なく文字列の文字数を返してくれます。
長さは、文字列内の16ビットUnicode文字の数と同じです。
lengthとは
lengthは、配列型の長さ(要素の数)を格納するフィールドというデータを格納する変数というものになります。
配列型の長さを格納するものと思っていれば良いです。
lengthの書き方
lengthの構文は下記となります。
1 |
int length = 配列変数名.length |
lengthは、配列に適用できる最後の変数です。
長さ変数を使用して、配列のサイズを取得できます。
長さ取得するサンプルコード
文字列の長さ取得する場合
文字列の長さ取得する場合はlength()メソッドを使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class Main { public static void main(String args[]) { String strA = new String("こんにちは。"); String strB = new String("お元気でしょうか?" ); System.out.print("文字列Aの長さ :" ); System.out.println(strA.length()); System.out.print("文字列Bの長さ :" ); System.out.println(strB.length()); } } |
出力結果
文字列Aの長さ :6
文字列Aの長さ :9
変数A、Bともそれぞれ格納されている文字の長さが
length()メソッドによって返されています。
配列の長さ取得する場合
配列の長さ取得する場合はlengthを使用します。
例
1 2 3 4 5 6 7 8 |
public class Main { public static void main(String[] args) { String[] gree = { "おはよう", "こんにちは", "ありがとうございます" }; System.out.println(gree.length); } } |
出力結果
3
ここで、greeは文字列型の配列です。
そのため、gree.lengthを使用してその長さを取得しています。
逆にarray[0]のように配列を指定した状態で、lengthを記載すると
エラーになるので注意してください。
例
1 2 3 4 5 6 |
public class Main { public static void main(String[] args) { String[] arrayA = { "イチゴ", "メロン", "オレンジ", "パイナップル" }; System.out.println(arrayA[0].length); } } |
出力結果
symbol: variable length
location: class String
1 error
また、lengthについて詳しく知りたい場合はこちらを御参考ください。
配列にlength()を使用する場合
それでは、length()を配列に使った場合どうなるのかを見てみます。
例
1 2 3 4 5 6 7 8 9 10 11 |
import java.io.*; public class Main { public static void main(String args[]) { // 配列の文字列 String[] arrayB = { "イチゴ", "メロン", "オレンジ", "パイナップル" }; System.out.println(arrayB[3] + "の文字数は" + arrayB[3].length() + "文字です。"); } } |
出力結果
パイナップルの文字数は7文字です。
ここで、lang[3]は文字列、つまりオレンジを指しているため、length()メソッドを使用すると、配列の番号の文字列の長さを取得することができます。
使用することは可能ですが、配列の要素数を取得する目的とは異なります。
文字列にlengthを使用する場合
例
1 2 3 4 5 6 7 8 9 10 |
public class Main { public static void main(String[] args) throws Exception { String strA = new String("こんにちは。"); System.out.print("文字列Aの長さ :" ); System.out.println(strA.length); } } |
出力結果
>Main.java:9: error: cannot find symbol
System.out.println(A.length);
lengthは配列の長さを取得するため、文字列にlengthを使った場合にはエラーが発生します。
今回のポイント
⚫︎ 配列の長さを取得するにはlengthを使用する
⚫︎ 文字列の長さを取得するにはlength()メソッドを使用する
⚫︎ lengthは文字列オブジェクトには適用しない
⚫︎ 配列にlength()メソッドを使用すると配列の長さではなく、要素の文字列の長さを取得する
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。