将来の訪問者のための参照 foo
という配列が10個のアイテムを含むとします。私たちは、次のコード?:
for(int i = 0;i<=foo.length;i++){
//some code that uses foo[i] here
}
を使用して反復処理しようとすると、答えはfoo
はあなたがいるのでfoo[0] to foo[9]
を使用してそれらにアクセスできることを意味します10個の要素を 含ま前simple.Asが言われてIndexOutOfBoundsException
理由で何が起こる 配列インデックスは0から始まりますfoo[9]
は配列の最後の要素(10番目の要素)を含んでいます '
for
ループではどうなりますか?
繰り返し実行するときは、常にi<=foo.length
にチェックを入れてください。 i
の値が9の場合、式i<=foo.length(which means i<=10)
はtrue
と評価されます。これは、for
ループが最後に実行されることを意味します。ループ内でループが発生すると、存在しないfoo[10]
にアクセスしようとします。 IndexOutOfBoundsException
ですから、配列を反復処理したいときに常にi<foo.length
だから、あなたもあなたの問題を解決し、それを考え出したとして、使用がこのであることを覚えておいてください:
for(int i=0; i< field.length; i++){
String[] field = allFields.split(",");
String field1 = "$"+field[i];
BsonField includeFields = Accumulators.first(field[i], field1);
includeList.add(includeFields);
}
フィールドのi値がフィールドの長さ – radhakrishnan
を超えていないことを、includeFields 'name = 'ID'、value = Expression {name = '$ first'、expression = $ ID}'で印刷するようにしました。この@radhakrishnanの例外です。 – svm
'i'はどこに定義されていますか? – Veeram