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