java枚举类型的原理

说明

1、Java追加了java.lang.Enum抽象类,是所有的枚举类型的基础类。提供了基本的属性和基本的方法。同时,支持将枚举作为Set和Map使用

2、用关键字enum创建枚举类型并进行编译之后,编译器就会为我们生成一个相关的类别,它继承了java.lang.Enum类。

实例

publicabstractclassEnum<EextendsEnum<E>>
implementsComparable<E>,Serializable{

//枚举的常量名,例如MONDAY,TUESDAY
privatefinalStringname;

publicfinalStringname(){
returnname;
}

//枚举的序号,按顺序从0开始
privatefinalintordinal;

publicfinalintordinal(){
returnordinal;
}

protectedEnum(Stringname,intordinal){
this.name=name;
this.ordinal=ordinal;
}

publicStringtoString(){
returnname;
}

publicstatic<TextendsEnum<T>>TvalueOf(Class<T>enumType,
Stringname){
Tresult=enumType.enumConstantDirectory().get(name);
if(result!=null)
returnresult;
if(name==null)
thrownewNullPointerException("Nameisnull");
thrownewIllegalArgumentException(
"Noenumconstant"+enumType.getCanonicalName()+"."+name);
}
...
}

以上就是java枚举类型的原理,希望对大家有所帮助。更多Java学习指路:Java基础

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容