im感到困惑,因为下面的数组中只有13个元素,并且长度显示为13,为什么?
class ArrayCopyOfDemo {
public static void main(String[] args) {
char[] copyFrom = {'d', 'e', 'c', 'a', 'f', 'f', 'e','i', 'n', 'a', 't', 'e', 'd'};
char[] copyTo = java.util.Arrays.copyOfRange(copyFrom, 2, 10);
System.out.println(new String(copyTo));
System.out.println(copyFrom.length);
}
}
它应该显示12
否,copyFrom
有13个元素,因此长度正确地报告为13。
但请注意,这些元素被索引,使用copyFrom[0]
作为起始元素,copyFrom[12]
作为最终元素。
如果数组长度为13,下标从0到12
因此元素的总数将是12+1。这就是为什么它显示长度为13。