问题描述
这是我执行验证的 Java 函数,它检查表单的所有字段是否有效并返回 boolean
值(有效 - 真或无效 - 假)。如果任何字段无效,则整个表单无效。一切正常,但我想停止检查是否有任何函数返回 false。所以我的意思是如果 isSharesDepositValid()
返回 false 那么它应该停止检查更多的函数并退出 isFormValid()
function 。如果它返回true,则继续进行进一步检查。我可以通过为每个函数检查放置 if Statement
来完成,但我想知道是否有另一种最佳方法
public boolean isFormValid() {
boolean valid = isSharesDepositValid() && isPlotAmtDepositValid()
&& isDevFundDepositValid() && isConstructionDepositValid()
&& isOthersDepositValid() && isSharesDueValid(true) && isSarahDueValid()
&& isANSDueValid() && isDevFundDueValid() && isOthersDueValid();
return valid;
}
解决方案是:
public boolean isMoneyFormValid() {
boolean valid = isSharesDepositValid() ;
if (valid==false){
return false;
}
valid = isPlotAmtDepositValid() && valid;
if (valid==false){
return false;
}
valid = isDevFundDepositValid() && valid;
if (valid==false){
return false;
}
......
}
我认为这不是更好的方法,可能还有其他选择
解决方法
我认为它确实如此,因为 Java 知道 &&
是逻辑与,这意味着如果布尔值之一是 false
,那么它不关心这些验证的其余部分,只返回 { {1}}。
对于false
,它的工作原理完全相同,如果一个布尔值是||
,则它不关心其余部分并返回true
此外,您可以跳过变量并简单地返回这些验证。
true.