java enums 如何用于状态机

   2024-10-02 6910
核心提示:在Java中,可以使用enum来定义状态机的状态。一个简单的例子如下:public class StateMachineExample {//定义状态机的状态public

在Java中,可以使用enum来定义状态机的状态。一个简单的例子如下:

public class StateMachineExample {        //定义状态机的状态    public enum State {        START,        PROCESSING,        FINISHED    }    //初始状态为START    private State currentState = State.START;    //定义状态转移方法    public void transition(State nextState) {        currentState = nextState;    }    //获取当前状态    public State getCurrentState() {        return currentState;    }    public static void main(String[] args) {        StateMachineExample stateMachine = new StateMachineExample();        //开始状态机        stateMachine.transition(State.PROCESSING);        System.out.println("Current state: " + stateMachine.getCurrentState());        //状态转移        stateMachine.transition(State.FINISHED);        System.out.println("Current state: " + stateMachine.getCurrentState());    }}

在这个例子中,我们定义了一个包含三个状态的状态机,分别是START、PROCESSING和FINISHED。在StateMachineExample类中,我们可以通过transition方法进行状态的转移,并且可以通过getCurrentState方法获取当前的状态。

通过使用enum来定义状态机的状态,可以使代码更加清晰和易于理解,并且可以避免使用magic number或者字符串来表示状态,提高代码的可维护性和可读性。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号