0

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)
}

上記で示したアプローチに利点はありますか?

4

1 に答える 1