1、java追加了java.lang.enum抽象类,是所有的枚举类型的基础类。提供了基本的属性和基本的方法。同时,支持将枚举作为set和map使用
2、用关键字enum创建枚举类型并进行编译之后,编译器就会为我们生成一个相关的类别,它继承了java.lang.enum类。
实例
public abstract class enum<e extends enum<e>> implements comparable<e>, serializable { // 枚举的常量名,例如monday, tuesday private final string name; public final string name() { return name; } // 枚举的序号,按顺序从0开始 private final int ordinal; public final int ordinal() { return ordinal; } protected enum(string name, int ordinal) { this.name = name; this.ordinal = ordinal; } public string tostring() { return name; } public static <t extends enum<t>> t valueof(class<t> enumtype, string name) { t result = enumtype.enumconstantdirectory().get(name); if (result != null) return result; if (name == null) throw new nullpointerexception(name is null); throw new illegalargumentexception( no enum constant + enumtype.getcanonicalname() + . + name); } ...}
以上就是java枚举类型的原理是什么的详细内容。
