Dies ist eine stilistische Frage. Ich möchte zweimal mit einer Variablen on
, die auf false gesetzt ist, und dann auf true. Welche von diesen ist klarer:Java: Schleife auf den zwei booleschen Werten (falsch, wahr)
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) etwas anderes
edit: Murphys Gesetz der unbeabsichtigten Interpretationen ins Spiel kommt. .. der Use Case, den ich ursprünglich so ähnlich sah statt 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);
}
}
}
Aber ich denke, ich Brendan Antwort mag, ich werde nur die Loop-Inhalt in eine separate Methode Refactoring:
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);
}
}
}
Ich nehme an, Sie haben dann versehentlich Ihre eigene Frage beantwortet, und ich habe Ihnen nur geholfen, es zu erkennen? –
heh, yeah .... :-) –