java - 是否可以根据两个(或多个)前一个 'else' 的结果创建一个 'if'?

标签 java

目前我在 if (roobaf) 中有一些代码依赖于 foo 的块和 bar是假的。我可以在块内再次检查这些条件,但感觉像是不必要的代码重复。

if (foo) {
    // some code
}

/*else*/ if (bar) {   // bar is a condition which needs to be checked 
                      // whether 'foo' is true or false
// more code
}

if (roobaf) { 

   if (!foo && !bar) {
      // even more code
    }

}


问题是如果bar只是一个 if ,然后 roobaf即使 foo 为真,也会达到。

如果我改变 barelse if那么如果 foo那么为真 bar不会被检查。

我如何确保 foobar总是被检查但roobaf只有在 foo 时才会被检查和 bar被检查?
roobaf是与 foo 不互斥的条件和 bar所以把它放在第一位是行不通的。

最佳答案

你可以做这样的事情:

if (foo || bar) {
    if (foo) {
        // do something
    }
    if (bar) {
        // do something
    }
}
else {
    if (roobaf) {
        // do something else
    }
}

关于java - 是否可以根据两个(或多个)前一个 'else' 的结果创建一个 'if'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56973904/

相关文章:

java - 在android中实现关键字

java - SOLR 空间使用 NumericRangeQuery

java - 尝试在 IntelliJ 上构建 gradle 项目时出现错误代码 B0

java - 使用 IntelliJ 生成 JPA 实体,而不使用 persistence.xml 或 orm.xml

java - 使用 Web 服务时的事务类逻辑

java - 旋转PVector

java - 从 Play Framework 2.0.8 迁移到 2.1.0 错误 : cache play already exists

java - 如何在Java中对原语进行等效的通过引用传递

java - Java:在Java程序中解释UTF-8

java - 在多核集群节点上并行运行 Java 应用程序