这是一个风格问题.我想用一个on设置为false 的变量循环两次,然后变为true.其中哪一个更清楚:
一个)
for (final boolean on : new boolean[] { false, true} )
{
doStuffBasedOnABooleanFlag(on);
}
Run Code Online (Sandbox Code Playgroud)
B)
for (int i = 0; i < 2; ++i)
{
final boolean on = (i == 1);
doStuffBasedOnABooleanFlag(on);
}
Run Code Online (Sandbox Code Playgroud)
C)别的东西
编辑:墨菲的无意识解释定律开始发挥作用......我原来看起来像这样的用例而不是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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我想我喜欢Brendan的答案,我只是将循环内容重构为一个单独的方法:
doStuffBasedOnABooleanFlag(false);
doStuffBasedOnABooleanFlag(true);
...
private void …Run Code Online (Sandbox Code Playgroud)