2016-07-25 5 views
-4

次の配列は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); 
} 

}

それは長さが正確に13

として報告しかし、これらの要素は使用をインデックス付けされていることに注意されるようになし、copyFrom 13個の要素を有する12

+2

'copyFrom.length'は間違いなく13です。 – Tunaki

+1

長さは配列内の要素数であり、最大インデックス(常に長さ-1)ではありません。 –

+0

本当にありがたいです – pintoo

答えて

2

を示しなければなりませんcopyFrom[0]を開始要素とし、copyFrom[12]を最終要素とする。

1

配列の長さは13、添字は0から12までです。
したがって、要素の総数は12 + 1になります。その理由は、長さ13を表示しているからです。

関連する問題