【发布时间】:2014-11-09 12:54:49
【问题描述】:
Java 有不可变的字符串,所以它的初始化大小永远不会改变(就像数组的大小)。问题是 - 如果大小永远不会改变,为什么 Java 需要调用方法 length() 而不是像数组中的属性 length?是length()
【问题讨论】:
-
因为它是这样定义的。更大的问题是为什么数组具有
length只读属性,而不是length()方法,因为它们是“只是对象”,就像字符串一样。 -
另一个相同的问题是这个:stackoverflow.com/questions/14856327/…
-
并非每件事都必须有合理的理由。 java设计者可能从来没有想过,或者是受到了月相的影响,他以不同的方式设计了一个API。
-
@SiyuanRen - 是的,很多决定都涉及到原始 Java 的设计。其中一些已被证明不太理想,但情况总是如此。
-
我觉得你假设 getter 方法比属性读取更好。这是为什么?这就像不必要的方法包装