将所有这些条件提取到布尔值中也是一个好主意,这也会使其if
更具可读性。
boolean fromAccountCondition = userTemplate.getFromAccount().equals(document.getDetails());
boolean benAccountcondition = userTemplate.getBenAccount().equals(document.getFromAccount());
boolean detailsCondition = userTemplate.getDetails().equals(document.getBenAccount());
boolean benTypeCondition = userTemplate.getBenType().equals(document.getBenType());
boolean amountCondition = userTemplate.getAmount().equals(document.getCreditAmount()))
然后
if (!(fromAccountCondition || benAccountcondition
|| detailsCondition || benTypeCondition || amountCondition)) {
...
}
注意:我实际上更愿意将否定放在布尔值本身中,即:
boolean fromAccountCondition = !userTemplate.getFromAccount().equals(document.getDetails());
boolean benAccountcondition = !userTemplate.getBenAccount().equals(document.getFromAccount());
boolean detailsCondition = !userTemplate.getDetails().equals(document.getBenAccount());
boolean benTypeCondition = !userTemplate.getBenType().equals(document.getBenType());
boolean amountCondition = !userTemplate.getAmount().equals(document.getCreditAmount()))
然后
if (fromAccountCondition && benAccountcondition
&& detailsCondition && benTypeCondition && amountCondition)) {
...
}