Les deux exemples que vous avez donnés ne sont pas exactement équivalents, donc c'est un peu difficile de dire quel est le meilleur style. Voici deux approches qui sont un peu plus semblable à ce qu'ils font:
for (Foo foo: foos) {
// ...
if (ok) { return foo; }
}
return null;
Versus:
Foo result = null;
for (Foo foo: foos) {
// ...
if (ok) {
result = foo;
break;
}
}
return result;
Dans ce cas, je vous recommande le premier parce qu'il est beaucoup plus simple. Il est peu probable qu'il y ait une différence de performance significative. Certaines personnes préfèrent la seconde parce qu'elles ne veulent qu'un seul retour dans chaque fonction, mais je ne pense pas que ce soit toujours une bonne idée de s'en tenir à cette règle. Parfois, plusieurs déclarations de retour rend les choses beaucoup plus claires.
* related *: http://stackoverflow.com/questions/36707/should-a-function-have-only-one-return-statement –
pause et retour ont un comportement différent, donc il n'y a pas vraiment de réponse à demander qui est "meilleur" – fearofawhackplanet