Jim*_*y C 12 java arrays language-design
由于大多数其他类似乎让开发人员通过调用方法来检索其内容的长度或大小,通常length()
或者size()
,如何通过读取实例变量来检索数组的长度length
?它似乎与我不一致,特别是因为String对象也是不可变的并且仍然使用length()
方法.
这是不一致的.我想这种区别的实际原因只能在Java语言开发的早期历史中找到.也许这似乎是当时的表现原因.我怀疑如果今天从头开始重新设计Java,那么该length
字段将会消失,而是会有一个java.lang.Array
类*(类似于java.lang.Enum
)所有数组将从中派生出来,并且包含length()
所有数组继承的方法.
实际上,缺少一个Array
类(在上面的意义上)可能表明为什么存在一个length
属性:数组比语言库(它是类库的一部分)更"内置"到语言中.
* Java确实有java.lang.reflect.Array
,但这与我所说的完全不同.