java - 否则我该如何优化以下内容?

标签 java if-statement

我有以下 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 没有什么不同,但它是一个单一的赋值(如果 outputfinal 就很方便,尽管即使在这种情况下也不是绝对必要的)。

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/

相关文章:

java - 使用远程桌面连接运行 testng webdriver 测试

java - Android - Opencv - 错误:(-215) u != 0 in function void cv::Mat::create

Java Selenium 使用 Apache POI - 读取 Excel 文件并将两行拉到一起

java - 在 auth 库中找不到类 GoogleSignIn

python - 在for循环Python中的if语句中将一个键的值分配给另一个键

java - 尝试遍历二维数组,但没有获得正确的值?

javascript - if 子句中的多个条件

java - 为什么实现接口(interface)的类不能使用 Java 中该接口(interface)的静态方法?

javascript - 如何根据jsp中某个下拉选项的值更改表单中字段的属性?

c# - 编写此 if 语句的更好方法?