-5

for eachループでメソッドを使用してリストを返す例を見たことがないので、それはばかげた質問だと思います。直感的に、それは良い考えではないと感じています。

for (String element : computeElementList()) {
    Systems.out.print(element);
}

最初にメソッドを変数に割り当てる必要がありますか? それとも、この computeElementList() メソッドはループの開始時に一度だけ呼び出されるため、これはまったく必要ないのでしょうか?

4

2 に答える 2

2

computeElementList()ループの開始時に一度だけ呼び出されるため、追加の変数は必要ありません。

他の何かの結果が必要でない限りcomputeElementList()、新しい変数を作成すると、コードが煩雑になります(IMO)。

于 2012-12-17T22:07:01.540 に答える
0

可読性が実際に向上しているわけではありません。関数は、コレクション、配列など、繰り返し処理できるものを返すためです。それは問題ではありません。同じことがブール値を返す関数にも当てはまり、次のように記述されます。

if(doSomething())  {...}

関数は一度だけ呼び出されます。そうしないと、サイズ 1 のリストでも permgen / すぐにメモリ不足になります。

于 2012-12-17T22:09:54.427 に答える