2016-07-25 3 views
-4

im confused, так как следующий массив имеет только 13 элементов в нем и показывает длину как 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

'copyFrom.length' определенно 13. – Tunaki

+1

Длина - это количество элементов в массиве, а не максимальный индекс (это всегда длина-1). –

+0

спасибо, действительно, appriciated – pintoo

ответ

2

Нет, copyFrom имеет 13 элементов, поэтому длина правильно сообщается как 13

Но обратите внимание, что эти элементы индексируется с использованием copyFrom[0] в качестве стартового элемента и copyFrom[12] как последний.

1

Для длины массива будет 13, индексы начинаются от 0 до 12.
так что суммарный элемент будет 12 + 1. Вот почему она показывает длину 13.

Смежные вопросы