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

标签 java

目前我在 if (roobaf) block 中有一些代码,这取决于 foobar 是否为假。我可以在 block 内再次检查这些条件,但感觉像是不必要的代码重复。

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,那么即使 foo 为真,也会到达 roobaf

如果我将 bar 更改为 else if 那么如果 foo 为真那么 bar 将不会被检查.

如何确保 foobar 始终被选中,而 roobaf 仅在 foobar 是否被选中?

roobaf 是一个与 foobar 不互斥的条件,所以把它放在前面是行不通的。

最佳答案

你可以这样做:

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 - Spring Security 注销问题

java - 只接收数据的 servlet 应该返回什么?

java - 从 Java Swing 应用程序打开 Google 静态 map

java - MongoDB 明显太大 16mb 上限

java - 为此创建 TreeSet 或任何集合的副本

java - 从 Java 代码发送 ssh 命令

java - Grails - 无法从 Controller 调用服务 --> 总是得到 "Cannot invoke method on null object error"

java - Maven 阐明错误 : "String index out of range: 0"

java - 为什么 GetLastError() 会阻止我的方法?

java - 为什么粗体 + 斜体不起作用?