我有以下 if else block 。
if (result.first && result.last) {
output= "both present"
} else if (!result.first && result.last) {
output= "last present"
} else if (result.first && !result.last) {
output= "first present"
} else {
output = "none present"
}
代码看起来很笨拙。有什么办法可以优化它。
最佳答案
一个奇特的方法是使用三元运算符。这与使用 if-cascade 没有什么不同,但它是一个单一的赋值(如果 output
是 final
就很方便,尽管即使在这种情况下也不是绝对必要的)。
output =
result.first
? (result.last ? "both present" : "first present")
: (result.last ? "last present" : "none present");
由于有 4 种可能的结果,因此不可能将其减少到低于 log_2(4) == 2
嵌套条件。
您还可以使用预定义的查找映射。
关于java - 否则我该如何优化以下内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58051966/