JAvaにおけるlength,length()sizeの違い
7463 ワード
まずlengthとlength()を区別します.
lengthは方法ではなく、属性であり、配列の属性である.
length()は文字列Stringの1つの方法である.
length()メソッドに入って実装を見てみましょう
size()メソッドは、List集合のメソッドである.
Listのメソッドではlength()メソッドはありません.
ArrayListのソースコードも見て
この段落からlistの下位実装は実は配列であり、size()メソッドが最後に探しているのは配列のlength属性であることがわかる.
また,リストに加えて,SetとMapにもsize()メソッドがあるので,正確にはsize()メソッドは集合に対してである.
まとめ:
length——配列の属性;
length()——Stringの方法;
size()——集合の方法;
謹んで記す.
————————————————著作権声明:本文はCSDNブロガーの「張小煩は少しも煩わしくない」オリジナル文章であり、CC 4.0 BY-SA著作権協定に従い、原文の出典リンクと本声明を転載してください.テキストリンク:https://blog.csdn.net/qq_33236248/article/details/79884874
lengthは方法ではなく、属性であり、配列の属性である.
public static void main(String[] args) {
int[] intArray = {1,2,3};
System.out.println(" :" + intArray.length);
}
length()は文字列Stringの1つの方法である.
public static void main(String[] args) {
String str = "HelloWorld";
System.out.println(" :" + str.length());
}
length()メソッドに入って実装を見てみましょう
private final char value[];
public int length() {
return value.length;
}
size()メソッドは、List集合のメソッドである.
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
System.out.println(" list :" + list.size());
}
Listのメソッドではlength()メソッドはありません.
ArrayListのソースコードも見て
private final E[] a;
ArrayList(E[] array) {
if (array==null)
throw new NullPointerException();
a = array;
}
public int size() {
return a.length;
}
この段落からlistの下位実装は実は配列であり、size()メソッドが最後に探しているのは配列のlength属性であることがわかる.
また,リストに加えて,SetとMapにもsize()メソッドがあるので,正確にはsize()メソッドは集合に対してである.
まとめ:
length——配列の属性;
length()——Stringの方法;
size()——集合の方法;
謹んで記す.
————————————————著作権声明:本文はCSDNブロガーの「張小煩は少しも煩わしくない」オリジナル文章であり、CC 4.0 BY-SA著作権協定に従い、原文の出典リンクと本声明を転載してください.テキストリンク:https://blog.csdn.net/qq_33236248/article/details/79884874