切换布尔值,但只有一次?(Java)的

sim*_*mon 4 java boolean toggle

偶尔需要在循环中只存储一次布尔值(记录它已从false更改为true或反之亦然),同时执行循环到结束但不再关心布尔值的变化值.例:


    public static boolean dbDelete(Collection argObjectCollectionToDelete) {
        boolean result = true;
        for (Object object : argObjectCollectionToDelete) {
            boolean dbDelete = dbDelete(object);
            if (!dbDelete) {
                result = false;
            }
        }
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

有没有办法执行相当于代码


if (!dbDelete) {
    result = false;
}
Run Code Online (Sandbox Code Playgroud)

要么


if (!dbDelete && !result) {
    result = false;
}
Run Code Online (Sandbox Code Playgroud)

以更优雅的方式,最好是一条线?

Jon*_*eet 9

怎么样:

result &= dbDelete(object);
Run Code Online (Sandbox Code Playgroud)

这相当于:

result = result & dbDelete(object);
Run Code Online (Sandbox Code Playgroud)

所以,如果它只会是真实的result此前真实,dbDelete返回真.