首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java 8缩短了许多返回布尔值的连续方法

Java 8缩短了许多返回布尔值的连续方法
EN

Stack Overflow用户
提问于 2019-03-20 06:12:37
回答 2查看 87关注 0票数 1

我正在寻找一种优雅的方法来缩短许多返回布尔值的连续方法。

例如,请参见下面的示例。这可以使用lambdas进行流式传输或实现吗?

代码语言:javascript
复制
public boolean outerMethod() {

    if(booleanMethod1() && booleanMethod2() && booleanMethod3() && ...) {       
        // Do work
    } else {
        // Do something else
    }

}
EN

回答 2

Stack Overflow用户

发布于 2019-03-20 06:21:42

如果我的condition1 && condition2 && ... && conditionN列表变得太长,我最喜欢的重构通常是

代码语言:javascript
复制
boolean theMeaningOfANDingAllConditions = condition1 
                                       && condition2 
                                       && ... 
                                       && conditionN;
if (theMeaningOfANDingAllConditions) {
    // Do work
} else {
    // Do something else
}
票数 3
EN

Stack Overflow用户

发布于 2019-03-20 06:26:41

我不认为“短路”是你要找的词。这里面有a specific meaning

如果您想要将条件组合到一个较短的行中,则将它们组合到一个函数中是一种常见的模式。

代码语言:javascript
复制
if (allBooleanMethods()) {
    // Do work
} else {
    // Do something else
}

...

private boolean allBooleanMethods() {
    boolean result = booleanMethod1();
    result = result && booleanMethod2();
    result = result && booleanMethod3();
    return result;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55250736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档