我很困惑,因为下面的数组中只有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
答案 0 :(得分:2)
不,copyFrom
有13个元素,因此长度被正确报告为13。
但请注意,这些元素是索引,使用copyFrom[0]
作为起始元素,copyFrom[12]
作为最终元素。
答案 1 :(得分:1)
对于数组长度为13,下标从0到12开始 所以元素的总数将是12 + 1。这就是它显示长度为13的原因。