一尘不染

Java数组的length属性在哪里定义?

java

我们可以ArrayList<E>使用它的public方法确定a的长度size(),例如

ArrayList<Integer> arr = new ArrayList(10);
int size = arr.size();

同样,我们可以Array使用length属性确定对象的长度

String[] str = new String[10];
int size =  str.length;

size()方法ArrayList是在ArrayList类内部定义的,而此length属性的Array定义在哪里?


阅读 1145

收藏
2020-03-03

共1个答案

一尘不染

数组是在Java中的特殊对象,他们有一个名为一个简单的属性lengthfinal

没有数组的“类定义”(你无法在任何.class文件中找到它),它们是语言本身的一部分。

10.7。数组成员
数组类型的成员都是以下所有:

public final字段length,其中包含所述阵列的部件的数量。length可以是正数或零。
public方法clone,它覆盖类同名的方法Object,并没有抛出checked异常。clone数组类型方法的返回类型T[]T[]

多维数组的克隆很浅,也就是说,它仅创建一个新数组。子数组是共享的。

所有成员都继承了阶级Object; 唯一Object不被继承的clone方法是它的方法。

2020-03-03