【发布时间】:2023-03-08 11:18:01
【问题描述】:
我在 Java 中有一个 if-else 结构如下:
if (A || B || C){
if (A){
//Do something
}
if (B){
//Do something
}
if (C){
//Do something
}
} else {
//Do something
}
我想知道是否有任何更清洁和更简单的方法来替换它?
【问题讨论】:
-
你根本不需要第一个 if 语句。
-
@SebastianK 你会怎么做最后一个
else呢?if (! (A || B || C))? -
带默认和开关...见下文
-
您能否在此处提供有关用例的更多信息?如何评估
A、B和C?是否期望它们是互斥的(即最多设置一个)?有多种方法可以完全完成您在下面的操作,但根据变量的来源,可能会有更易读的方法(从Map查找、回调数组等) . -
@Alex Wang 了解 1) 如果
A、B和C是排他性的(只有一个可以是真的)和 2) 如果“做某事”始终是同一段代码。
标签: java if-statement