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

1

不。如果添加的是前缀而不是后缀,那将是有意义的,因为含义会完全改变。在这种特殊情况下,在优化方面似乎没有任何理由。根据评论,这可能只是仓促编码的一个例子。

于 2013-12-03T19:07:41.983 回答