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)
以更优雅的方式,最好是一条线?
怎么样:
result &= dbDelete(object);
Run Code Online (Sandbox Code Playgroud)
这相当于:
result = result & dbDelete(object);
Run Code Online (Sandbox Code Playgroud)
所以,如果它只会是真实的result是此前真实,dbDelete返回真.