我知道这是一个愚蠢的问题,因为我从未见过在 for each 循环中使用方法返回列表的任何示例,我直观地觉得这不是一个好主意:
for (String element : computeElementList()) {
Systems.out.print(element);
}
我应该先将方法分配给变量吗?或者这根本没有必要,因为这个 computeElementList() 方法只会在循环开始时被调用一次?
额外的变量不是必需的,因为computeElementList()
只会在循环开始时调用一次。
除非您需要computeElementList()
其他结果,否则创建一个新变量只会给代码添加混乱(IMO)。
它并没有真正增加可读性。由于该函数返回一些您可以迭代的内容:集合、数组等。没关系。返回布尔值并编写如下的函数也是如此:
if(doSomething()) {...}
该函数只会被调用一次。如果不是,即使在大小为 1 的列表上,您也会很快 permgen / 耗尽内存。