While 循环编码模式

And*_*rew 1 java while-loop

假设我有这个循环:

boolean modified = true;
while(modified == true){
    modified = false;
    for (Object o : objectList){
        // do logic
        if (... condition...){
            modified = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不喜欢我最初必须将修改后的变量声明为 true。如果在一轮中没有发生更多修改,则循环应终止。

Saz*_*han 5

如果我是你,我会写如下逻辑。

boolean modified = true;
while (modified) {
    for (Object o : objectList){
        // do logic
        modified = (modified && condition);
    }
}
Run Code Online (Sandbox Code Playgroud)