将枚举变量增加到Java中的下一个元素

时间:2014-10-01 00:28:23

标签: java enums

我正在Java中实现一个Tic-Tac-Toe,并且有一个这样的枚举:

public enum Player{X,O};

当进行动作时,我需要换到另一个玩家,我这样做:

this.nextPlayer = ((this.nextPlayer == Player.X)?Player.O:Player.X);

有没有办法通过枚举结构的下一个元素自动“递增”?我想知道有5个或6个不同的值,并希望在没有大量代码的情况下交换它们(并且没有实现分离的方法)。

1 个答案:

答案 0 :(得分:3)

您可以使用枚举的ordinal()方法和模数运算符来实现:

this.nextPlayer = (nextPlayer.ordinal() + 1) % Player.values().length;