1

这是关于 java 编程的。为什么 Java 开发人员将 length() 作为字符串对象的成员函数,而对于数组引用变量,他们将其作为最终字段?...如果这不是真的令人困惑,那么我的下一个问题与任何函数一样,引用是存储在堆栈上的局部变量。那么我们如何能够在数组引用上引用字段..如果我出错了请纠正我..

4

3 回答 3

0

数组的length甚至不是字段(不可能是因为数组不是真实对象)。class这是一个类似于in的“伪属性” Object.class。它是编译器识别并翻译成一些原始操作的句法元素。

于 2013-08-22T13:56:31.040 回答
-1

如果你看到字符串的源代码,当你将一个 chararray 传递给 String 时,就会出现这种情况constructor.

  public More ...String(char value[]) {
193         int size = value.length;
194         this.offset = 0;
195         this.count = size;
196         this.value = Arrays.copyOf(value, size);
197     }

并将计为已final阻止以初始化count构造函数的外部。

于 2013-08-22T13:43:55.313 回答
-2

“为什么”的问题总是最难回答的。历史原因大多源于对数组的特殊处理。我认为属性应该仅限于简单的获取和设置,只有在没有副作用的情况下,否则使用函数。

于 2013-08-22T13:46:44.190 回答