我如何在 Java 中创建枚举?

How can i create Enum in Java?

我已经创建了枚举。但是我无法创建 new Enum。我实际上想创建和比较 2 个枚举。 X 值来自后端。这是一个动态值。我想做这个;

EmployeeType type = new EmployeeType("X")

if (type == EmployeeType.X_PERSONALS) {
    Log.i("SAMPLE_TAG", "Yesss!")
}
public enum EmployeeType {
    X_PERSONALS("X"),
    Y_PERSONALS("Y"),
    Z_PERSONALS("Z");

    private final String text;

    EmployeeType(final String text) {
        this.text = text;
    }

    public String getText() {
        return text;
    }
}

But i cannot create new Enum

这就是枚举的真正意义所在:您无法实例化它们。

您可以参考现有元素,例如

EmployeeType type = EmployeeType.X_PERSONALS;

所以你实际上想要实现的是找到具有相同 text 的枚举常量。你可以这样:

public enum EmployeeType {
    X_PERSONALS("X"),
    ///...and so on

    public static EmployeeType getByText(String x) {
        for(EmployeeType t:values()) {
            if(t.text.equals(x)){
                return t;
            }
        }
        return null;
    }
}

然后使用如下代码:

EmployeeType type = EmployeeType.getByText("X");
if (type == EmployeeType.X_PERSONALS) {
    //and so on