2016-07-25 2 views
-4

다음 배열은 그 안에 13 개의 요소 만 가지고 있고 길이를 13으로 표시하므로 혼란 스럽습니다. 왜 그렇습니까? 길이가 정확하게 13이 배열의 길이는 어떻게됩니까?

로보고하지만주의되도록 그것은, 12

+2

'copyFrom.length'는 분명히 13입니다. – Tunaki

+1

길이는 최대 색인 (항상 길이 -1)이 아니라 배열의 요소 수입니다. –

+0

정말 고맙습니다. – pintoo

답변

2

을 보여주는한다

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); 
} 

}, copyFrom는 이러한 요소 사용 색인 것을 13 개 요소가 copyFrom[0]을 시작 요소로 사용하고 copyFrom[12]을 마지막 요소로 사용합니다.

1

배열 길이가 13 일 때, 첨자는 0에서 12까지입니다.
이므로 요소의 총 개수는 12 + 1이됩니다. 이것이 길이 13을 보여주는 이유입니다.