Ceci est une question de style. Je veux boucler deux fois avec une variable on
qui est définie sur false, puis sur true. Lequel de ces est plus clair:java: boucle sur les deux valeurs booléennes (false, true)
A)
for (final boolean on : new boolean[] { false, true})
{
doStuffBasedOnABooleanFlag(on);
}
B)
for (int i = 0; i < 2; ++i)
{
final boolean on = (i == 1);
doStuffBasedOnABooleanFlag(on);
}
C) quelque chose d'autre
modifier: la loi de Murphy d'interprétations inattendues entre en jeu. .. le cas d'utilisation que j'ai à l'origine ressemblé à quelque chose comme ceci au lieu de doStuffBasedOnABooleanFlag:
for (final boolean on : new boolean[] { false, true})
{
JButton button = on ? onButton : offButton;
button.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent event) {
doStuffLaterBasedOnABooleanFlag(on);
}
}
}
Mais je pense que j'aime la réponse de Brendan, je vais juste Refactor le contenu de la boucle dans une méthode distincte:
doStuffBasedOnABooleanFlag(false);
doStuffBasedOnABooleanFlag(true);
...
private void doStuffBasedOnABooleanFlag(final boolean on)
{
JButton button = on ? onButton : offButton;
button.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent event) {
doStuffLaterBasedOnABooleanFlag(on);
}
}
}
Je suppose que vous avez accidentellement répondu à votre propre question alors et je vous ai juste aidé à le réaliser? –
heh, yeah .... :-) –