java枚举是单例吗?

moh*_*Jsh -1 java design-patterns

java枚举是单例吗?

例如 :

public enum State {

ACTIVE(0),
PENDING(1),
DELETED(2),
}


State s = State.ACTIVE;
State s2 = State.PENDING;
State s3 = State.PENDING;
Run Code Online (Sandbox Code Playgroud)

每次我们使用 State.FOO 时,java 都会创建新实例吗??

cdb*_*nny 6

Java 中的枚举是具有多个自身常量实例的类。这些是像static final变量一样创建的。访问枚举常量会返回对枚举常量的引用。它不会创建枚举常量的新实例。