java枚举类型实例化

java枚举类型实例化,java,enums,Java,Enums,是否有针对每个枚举常量(傲慢、流氓、白痴)创建的对象 public enum Manager { ARROGANT, RASCAL, IDIOT } 如果下面的代码与上面的代码相同,那么 public enum Manager { ARROGANT(), RASCAL(), IDIOT(); Manager() {} } 是的,将为每个枚举常量创建一个实例 是的,第二个示例代码实际上是相同的。是的,两个示例代码都应该产生相同的字节码,

是否有针对每个枚举常量(傲慢、流氓、白痴)创建的对象

public enum Manager {
    ARROGANT,
    RASCAL,
    IDIOT
}
如果下面的代码与上面的代码相同,那么

public enum Manager {
    ARROGANT(),
    RASCAL(),
    IDIOT();

    Manager() {}
}

是的,将为每个枚举常量创建一个实例


是的,第二个示例代码实际上是相同的。

是的,两个示例代码都应该产生相同的字节码,第一个示例代码只是语法上的糖

当必须将值与枚举关联时,第二种方法很有用

enum Numbers{
    ONE(1),TWO(2),THREE(3),TEN(10);
    Numbers(int i){
       value = i;
    }
    public final int value;
}

注意:第二段代码中不需要构造函数。