Java 我如何计算方法调用和对应的开始到结束号码?

Java 我如何计算方法调用和对应的开始到结束号码?,java,Java,我有以下代码,有没有一个很好的方法来计数国家枚举数 我想把StateHolders函数移到State enum,但我不知道如何对应起始编号和结束编号 public enum State{ START("start"), END("end"); public String msg; private State(String msg){ this.msg = msg; } } public class StateHolder{ p

我有以下代码,有没有一个很好的方法来计数国家枚举数

我想把StateHolders函数移到State enum,但我不知道如何对应起始编号和结束编号

public enum State{
   START("start"),
   END("end");

   public String msg;

   private State(String msg){
      this.msg = msg;
   }       
}

public class StateHolder{

   private static AtomicInteger counter = new AtomicInteger();
   private int current;

   public String start(){
      current = counter.getAndIncrement();
      return State.START.msg + " " + current;
   }

   public String end(){
      return State.END.msg + " " + current;
   }
} 


public static void main(String[] args){

    StateHolder sh1 = new StateHolder();
    StateHolder sh2 = new StateHolder();

    System.out.println(sh1.start); // start 0
    System.out.println(sh2.start); // start 1
    System.out.println(sh1.end); // end 0
    System.out.println(sh2.end); // end 1

}
那么这个呢:

public enum State {
...

    private static AtomicInteger counter = new AtomicInteger();

    public AtomicInteger counter() {
        return counter;
    }
...
}

public class StateHolder {

    private int current;

    public String start() {
        current = State.START.counter().getAndIncrement();
        return State.START.msg + " " + current;
    }
...
}