gpt4 book ai didi

java - 使用 .length 和 .length() 求长度有什么区别

转载 作者:行者123 更新时间:2023-12-01 22:55:23 25 4
gpt4 key购买 nike

前一个(.length)甚至不是一个函数,它如何返回长度?

最佳答案

length 在数组中不起作用的原因是它是一个字段。特别是,Java 语言规范部分 10.7 指定的 public final 。 .

虽然 ArrayList(1.0 库的 ad Vector)有一个 length() 方法,但要实现的关键是该值可以更改。您对 Vector 调用 add(Object o),并且更改了它的长度。

另一方面,您无法更改数组的长度。

Once an array object is created, its length never changes. To make an array variable refer to an array of different length, a reference to a different array must be assigned to the variable.

(来自 JLS 部分 10.2 - 数组变量)

因此,最简单的方法就是将长度设置为一个字段。一项是公开的且无法更改。

意识到在 Java 1.0 时代,HotSpot 并不像今天那么先进。它无法完成现在使用内联方法可以进行的所有优化。因此,为了使数组访问在需要它的情况下更快,它是一个字段。

Stack Overflow 上的相关阅读:length and length() in java

关于java - 使用 .length 和 .length() 求长度有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24146366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com