终止函数如果任何函数调用返回 false

问题描述

这是我执行验证的 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.