说明
1、Java追加了java.lang.Enum抽象类,是所有的枚举类型的基础类。提供了基本的属性和基本的方法。同时,支持将枚举作为Set和Map使用。
2、用关键字enum创建枚举类型并进行编译之后,编译器就会为我们生成一个相关的类别,它继承了java.lang.Enum类。
实例
public abstract class Enum>
implements Comparable, 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 valueOf(ClassenumType,
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枚举类型的原理,希望对大家有所帮助。更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。