带有条件的Java Foreach

TJ-*_*TJ- 24 java foreach

Java foreach有可能有条件吗?

例如,

for(Foo foo : foos && try == true)
{
//Do something
}
Run Code Online (Sandbox Code Playgroud)

有没有相当于这个,这样我可以把一个AND条件放在里面for

Nim*_*sky 21

没有.

你可以改用while循环.

Iterator iterator = list.iterator();
while(iterator.hasNext()) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • @NandKumarTekale - 这不是Nim的问题; 他正在寻找OP所写的内容. (6认同)

Mic*_*rdt 11

不,没有这样的."增强的for循环"是一个完全独立的构造,除了通过其Iterable参数返回的迭代器的lopp之外什么都不做.

你能做的是:

for(Foo foo : foos)
{
   //Do something
   if(!condition){
       break;
   }
}
Run Code Online (Sandbox Code Playgroud)

  • @TJ-:实际上,我会说做一件事只会让它*更*优雅。类似 C 的 for 循环将迭代、初始化和任意复杂的条件和迭代步骤集中在一个超级强大的构造中,但在 95% 的情况下*以完全相同的方式使用*那* 是非常不优雅的。 (2认同)

Cha*_*har 8

不,foreach专门设计用于迭代数组或集合的所有元素.

如果你想要,你可以检查里面的条件,并使用break关键字在中间退出循环.