java switch多值匹配怎樣實(shí)現(xiàn)

小樊
81
2024-09-20 21:06:23
欄目: 編程語言

在 Java 中,switch 語句不支持多值匹配。但是,你可以使用以下幾種方法來實(shí)現(xiàn)類似的功能:

  1. 使用多個(gè) if-else 語句:
int value = 2;

if (value == 1 || value == 3) {
    System.out.println("Value is 1 or 3");
} else if (value == 2 || value == 4) {
    System.out.println("Value is 2 or 4");
} else {
    System.out.println("Value is not 1, 2, 3, or 4");
}
  1. 使用 Map 結(jié)構(gòu):
import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;

public class MultiValueSwitch {
    public static void main(String[] args) {
        int value = 2;
        Map<Integer, Consumer<Integer>> 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");
        }
    }
}
  1. 使用 switch 表達(dá)式(僅適用于 Java 12 及更高版本):
int value = 2;

String result = switch (value) {
    case 1, 3 -> "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);

請(qǐng)注意,這些方法并不是真正的 switch 多值匹配,而是使用其他結(jié)構(gòu)來實(shí)現(xiàn)類似的功能。

0