J'ai un problème avec le flux de Java 8 foreach qui tente de passer à l'élément suivant en boucle. Je ne peux pas définir la commande comme continue;
, return;
fonctionne seulement mais vous quitterez la boucle dans ce cas. J'ai besoin de passer à l'élément suivant en boucle. Comment puis je faire ça?
Exemple (ne fonctionne pas):
try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){
filteredLines = lines.filter(...).foreach(line -> {
...
if(...)
continue; // this command doesn't working here
});
}
Exemple (fonctionnant):
try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){
filteredLines = lines.filter(...).collect(Collectors.toList());
}
for(String filteredLine : filteredLines){
...
if(...)
continue; // it's working!
}
continue
serait toujours passer à l'élément suivant sans aucun changement fonctionnel de toute façon.
else
bloc. S'il n'y a rien après continue
, alors supprimez le bloc if et continuez: ils sont inutiles.