Java中的每个循环都有这样的事吗?

sol*_*oth 6 java while-loop

如果有这样的事情,我会想象语法是一样的

while(Integer item : group<Integer>; item > 5)
{
    //do something
}
Run Code Online (Sandbox Code Playgroud)

只是想知道是否有这样的东西或模仿这种方式?

Jon*_*eet 7

不,最接近的是:

for (Integer item : group<Integer>)
{
    if (item <= 5)
    {
        break;
    }
    //do something
}
Run Code Online (Sandbox Code Playgroud)

当然,如果Java得到简洁的闭包,那么编写像.NET的Enumerable.TakeWhile方法来包装迭代(group在这种情况下)并在条件停止保持时使其提前完成是合理的.

到目前为止,这是可行的,但执行它的代码将是丑陋的.作为参考,C#看起来像这样:

foreach (int item in group.TakeWhile(x => x > 5))
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

也许Java会在一段时间内得到很好的闭包......