Ответ 1
while(rs.next())
{
if(f.exists() && !f.isDirectory())
continue; //then skip the iteration
else
{
//proceed
}
}
Есть ли элегантный способ пропустить итерацию во время цикла?
Что я хочу сделать, это
while(rs.next())
{
if(f.exists() && !f.isDirectory()){
//then skip the iteration
}
else
{
//proceed
}
}
while(rs.next())
{
if(f.exists() && !f.isDirectory())
continue; //then skip the iteration
else
{
//proceed
}
}
Пока вы можете использовать continue
, почему бы просто не инвертировать логику в вашем if?
while(rs.next())
{
if(!f.exists() || f.isDirectory()){
//proceed
}
}
Вам даже не нужен else {continue;}
, поскольку он будет продолжаться в любом случае, если условия if
не выполняются.
Попробуйте добавить continue;
, где вы хотите пропустить 1 итерацию.
В отличие от ключевого слова break, continue не завершает цикл. Скорее, он переходит к следующей итерации цикла и прекращает выполнение каких-либо дальнейших операторов в этой итерации. Это позволяет нам обойти остальные утверждения в текущей последовательности, не останавливая следующую итерацию через цикл.
http://www.javacoffeebreak.com/articles/loopyjava/index.html
Вы ищете инструкцию continue;
.
Вам не нужно пропустить итерацию, так как остальная часть находится в инструкции else
, она будет выполняться только в том случае, если условие не соответствует действительности.
Но если вам действительно нужно пропустить его, вы можете использовать оператор continue;
.
while (rs.next())
{
if (f.exists() && !f.isDirectory())
continue;
//proceed
}