Java里面的switch語(yǔ)句如何處理枚舉類型

小樊
81
2024-09-30 00:01:18

在Java中,switch語(yǔ)句本身不支持直接處理枚舉類型。但是,你可以通過(guò)將枚舉類型轉(zhuǎn)換為整數(shù)值或者字符串來(lái)實(shí)現(xiàn)在switch語(yǔ)句中使用枚舉類型。以下是兩種方法的示例:

方法1:將枚舉類型轉(zhuǎn)換為整數(shù)值

首先,為你的枚舉類型定義一個(gè)整數(shù)值作為其序數(shù)(從0開(kāi)始)。然后,在switch語(yǔ)句中使用這個(gè)整數(shù)值。

enum Color {
    RED(0), GREEN(1), BLUE(2);

    private int value;

    Color(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

public class Main {
    public static void main(String[] args) {
        Color color = Color.RED;
        switch (color.getValue()) {
            case 0:
                System.out.println("Red");
                break;
            case 1:
                System.out.println("Green");
                break;
            case 2:
                System.out.println("Blue");
                break;
            default:
                System.out.println("Unknown color");
                break;
        }
    }
}

方法2:將枚舉類型轉(zhuǎn)換為字符串

另一種方法是將枚舉類型轉(zhuǎn)換為字符串,并在switch語(yǔ)句中使用這個(gè)字符串。

enum Color {
    RED, GREEN, BLUE;

    @Override
    public String toString() {
        return name().toLowerCase();
    }
}

public class Main {
    public static void main(String[] args) {
        Color color = Color.RED;
        switch (color.toString()) {
            case "red":
                System.out.println("Red");
                break;
            case "green":
                System.out.println("Green");
                break;
            case "blue":
                System.out.println("Blue");
                break;
            default:
                System.out.println("Unknown color");
                break;
        }
    }
}

在這兩個(gè)示例中,我們都展示了如何在switch語(yǔ)句中使用枚舉類型。你可以根據(jù)自己的需求和喜好選擇合適的方法。

0