java.util.Calendar で次のコードを見つけました。
public final void clear()
{
for (int i = 0; i < fields.length; ) {
stamp[i] = fields[i] = 0; // UNSET == 0
isSet[i++] = false;
}
areAllFieldsSet = areFieldsSet = false;
isTimeSet = false;
}
私はそれが何をしているのか、そしてなぜそれが機能しているのかを理解しています。しかし、インクリメントを見逃してループの最後にそれを行うと、パターンの「通常」とは明らかに異なります( http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.htmlで説明されているように)
for (initialization; termination; increment) {
statement(s)
}
上記で示したアプローチに利点はありますか?