Gab es einen bestimmten Design / Performance-Grund, warum String eine Methode für die Länge hat, aber Array eine variable Länge hat?
Es gibt keine Array
-Klasse in Java (anders als in Reflexionen). Arrays sind "Primitive" einer Art in Java und spielen nach anderen Regeln als deklarierte Klassen.
Sicherlich könnte eine length()
-Methode für Arrays definiert worden sein, aber die Designer wollten length
als Eigenschaft und nicht als Pseudo-Methode beibehalten. (Dies könnte zum Teil frühere Java-Implementierungen erleichtert haben.) Die Gründe sind in der Geschichte etwas vergraben.
(Eine bessere Frage ist, warum Java nicht entscheiden konnte, ob man das Konzept "length", "count" oder "size" nennen möchte - ich versuche immer alle drei zu testen, bevor ich auf das richtige setze, um zu aggregieren Klasse.)
Tags und Links java programming-languages