Java (Obj o:m())中的m()是运行一次还是多次?

Java (Obj o:m())中的m()是运行一次还是多次?,java,Java,在下面的示例中,m()是运行一次还是多次 for(Obj o: m()) { ... } m()在循环开始时计算一次。如果m()。迭代器只创建一次。我担心这样的测试不会反映语义;我的机器上可观察到的行为与环境有关。如果m()返回一个Iterable,您的意思是。否则它将无法编译。@EJP是的,这样会更准确。我将编辑我的答案。谢谢

在下面的示例中,
m()
是运行一次还是多次

for(Obj o: m()) { ... }

m()
在循环开始时计算一次。如果
m()。迭代器只创建一次。

我担心这样的测试不会反映语义;我的机器上可观察到的行为与环境有关。如果
m()
返回一个
Iterable
,您的意思是。否则它将无法编译。@EJP是的,这样会更准确。我将编辑我的答案。谢谢