为什么这个数组的长度为13?

时间:2016-07-25 07:54:24

标签: java arrays multidimensional-array

我很困惑,因为下面的数组中只有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

2 个答案:

答案 0 :(得分:2)

不,copyFrom有13个元素,因此长度被正确报告为13。

但请注意,这些元素是索引,使用copyFrom[0]作为起始元素,copyFrom[12]作为最终元素。

答案 1 :(得分:1)

对于数组长度为13,下标从0到12开始 所以元素的总数将是12 + 1。这就是它显示长度为13的原因。