【发布时间】:2011-09-02 08:54:41
【问题描述】:
有时需要在循环中仅存储一次布尔值(以记录它已从 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;
}
有没有办法执行等效的代码
if (!dbDelete) {
result = false;
}
或
if (!dbDelete && !result) {
result = false;
}
以更优雅的方式,最好是一行?
【问题讨论】:
-
如果任何方法返回 true,则反面是
b |= method()。