文章 > java基础 > java枚举类型的原理

java枚举类型的原理

java枚举

头像

小妮浅浅

2021-07-29 09:52:264060浏览 · 0收藏 · 0评论

说明

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枚举类型的原理,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!