#この記事の内容
Javaで配列や文字列の長さを取得するとき、lengthなのかlength()なのかsize()なのかごっちゃになるので、その辺りを勉強を兼ねてまとめました。
#結論
length | length() | size() |
---|---|---|
配列の長さ | 文字列の長さ | コレクションの要素数 |
#length、length()、size()の違い
###length
lengthは配列の長さを取得するのに使われます。
int[] a = new int [100];
a.length; // 100
a.length(); // コンパイルエラー
配列のメンバであるlengthフィールドを利用するため、()は不要となります。
###length()
length()は文字列の長さを取得するのに使われます。
String str = "aiueo"
str.length; // コンパイルエラー
str.length(); // 5
文字列では長さの取得にlengthメソッドを用いるため、()が必要となります。
全角の場合でも文字数を(人間的に)正しく数えてくれます。
String zenkaku = "あいうえお"
zenkaku.length(); // 5
###size()
size()でコレクション(ListやSetなど)の要素数を取得できます。
ArrayList<Integer> b = new ArrayList<>();
for(int i = 0; i < 100; i++){
b.add(i);
}
b.size() //100
size()はCollectionクラスで定義されているメソッドだそうです。なので、コレクションなら全てsize()が使えます。
##参考文献
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000290.html