可能重复:
Why is String.length() a method?
Java - Array's length property
是否有特定的设计/性能原因,为什么String有长度方法但Array有可变长度?
答案 0 :(得分:7)
Java中没有Array
类(反射除外)。数组是Java中的一种“原语”,并且与声明的类有不同的规则。
当然可以在数组上定义length()
方法,但设计者希望将length
保留为属性而不是伪方法。 (在某种程度上,这可能使早期的Java实现更容易。)原因在历史上有些埋没。
(一个更好的问题是为什么Java无法决定是否将“长度”,“计数”或“大小”这个概念称为 - 我总是在尝试所有这三个之前尝试所有这三个才能进行聚合类。)