8.5 数组的长度
前面的示例仅在数组包含 3 个元素时才管用,因此,最好对这些代码进行泛化,使其适用于任何长度的数组。为此,可将魔幻数字 3 替换为 a.length:
double[] b = new double[a.length];for (int i = 0; i < a.length; i++) {b[i] = a[i];}
所有数组都有一个内置常量 length,其中存储了数组包含的元素数。表达式 a.length 看起来像方法调用,但没有括号,也没有实参。
这个循环最后一次执行时,i 的值为 a.length-1,这是最后一个元素的索引。i 的值为 a.length 时不满足条件,因此不会执行循环体,这是件好事,因为试图访问 a[a.length] 将引发异常。
还可将 a.length 用作 Arrays.copyOf 的第二个实参:
double[] b = Arrays.copyOf(a, a.length);
