-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 回答