如何更改其范围内的枚举值

时间:2015-07-13 18:10:41

标签: java enums

这是我的枚举类

public enum Turn{
    BeginUserTurn,UserTurn,
    BeginEnemyTurn,EnemyTurn;

    public void change(){
        if(this==BeginUserTurn)this=BeginEnemyTurn;
        else this=BeginUserTurn;
    }
}

我转过来了

Turn turn;
turn=Turn.BeginUserTurn;

我想通过调用

将转弯值从用户改为敌人
turn.change()

但问题是在枚举类中,第6,7行,有错误说

  

作业的左侧必须是可变的

1 个答案:

答案 0 :(得分:4)

您无法重新分配this。它是关键字,而不是变量。 也许尝试这样的事情:

turn = turn.change();

并让change()返回下一个Turn

public Turn change() {
    if (this==BeginUserTurn) return BeginEnemyTurn;
    else return BeginUserTurn;
}
相关问题