在 Java 中,switch
语句不支持多值匹配。但是,你可以使用以下几种方法来实现类似的功能:
- 使用多个
if-else
语句:
int value = https://www.yisu.com/ask/2;"Value is 1 or 3"); } else if (value =https://www.yisu.com/ask/= 2 || value == 4) {"Value is 2 or 4"); } else { System.out.println("Value is not 1, 2, 3, or 4"); }
- 使用
Map
结构:
import java.util.HashMap; import java.util.Map; import java.util.function.Consumer; public class MultiValueSwitch { public static void main(String[] args) { int value = https://www.yisu.com/ask/2;>> actions = new HashMap<>(); actions.put(1, v -> System.out.println("Value is 1")); actions.put(2, v -> System.out.println("Value is 2")); actions.put(3, v -> System.out.println("Value is 3")); actions.put(4, v -> System.out.println("Value is 4")); if (actions.containsKey(value)) { actions.get(value).accept(value); } else { System.out.println("Value is not 1, 2, 3, or 4"); } } }
- 使用
switch
表达式(仅适用于 Java 12 及更高版本):
int value = https://www.yisu.com/ask/2;> "Value is 1 or 3"; case 2, 4 -> "Value is 2 or 4"; default -> "Value is not 1, 2, 3, or 4"; }; System.out.println(result);
请注意,这些方法并不是真正的 switch
多值匹配,而是使用其他结构来实现类似的功能。