在JAVA中使用this更改ENUM类函数中的ENUM值

我有一个名为 entry 的 Java 枚举。我的目标是拥有一个将枚举值更改为另一个值的函数。如果我的枚举值为 X,我希望它变成 Y,反之亦然。我尝试编写的代码在这里。但这不会编译,它说在我使用过的地方预期变量this

public enum Entry {
    X,
    O;

    public void switchEntry(){
        this == Entry.X? this = Entry.O: Entry.X ;
    }
}

另外我想知道是否可以在我的 ENUM 类中不使用额外的值变量。谢谢你。如果这是一个愚蠢的问题,请道歉。

回答

您不能切换枚举本身的值。您可以做的是在类中使用枚举并在那里修改值:

class Test {

    private Entry entry = Entry.X;

    public void switchEntry() {
        entry = entry == Entry.X ? Entry.O : Entry.X;
    }
}

enum Entry {
    X, O;
}


以上是在JAVA中使用this更改ENUM类函数中的ENUM值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>