関数から返された配列を反復処理する最良の方法は何ですか?Javaの関数が返す配列を反復処理する方法
例:
for (String s : collectMyStrings()){
System.out.println(s);
}
は、各反復で呼び出さcollectMyStrings()は、またはJavaは一度だけ、それを呼び出すと、forループのすべての反復のために返された配列を使用していますか?
関数から返された配列を反復処理する最良の方法は何ですか?Javaの関数が返す配列を反復処理する方法
例:
for (String s : collectMyStrings()){
System.out.println(s);
}
は、各反復で呼び出さcollectMyStrings()は、またはJavaは一度だけ、それを呼び出すと、forループのすべての反復のために返された配列を使用していますか?
メソッドcollectMyStrings()
は、繰り返し実行する配列/コレクションを取得するために1回だけ呼び出されます。
アレイの場合、for-eachループは、Javaコンパイラによって、インデックス変数を持つ通常のforループに変換されます。それはあなたのコードスニペットは、このとほぼ同じであることを意味しますので、
String[] strings = collectMyStrings();
int length = strings.length;
for (int i = 0; i < length; i++) {
String s = strings[i];
System.out.println(s);
}
、あなたが見ることができるように、この方法は、一度だけ呼ばれます。配列の長さプロパティでさえ、一度だけ読み込まれます。
あなたは自分の質問に答えてみることができます。 –
はい、私は – kadrian
のように、他の人がGoogleを試してみたら、それを文書化しておきたいと思っています。しかし、私はそれが一度だけそれを呼び出すと思います。 – Colleen