• 技术文章 >java >java基础

    java枚举类型的原理

    小妮浅浅小妮浅浅2021-07-29 09:52:26原创4122

    说明

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    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电脑。

    专题推荐:java枚举
    上一篇:java单例模式中的Holder是什么 下一篇:java静态方法和非静态方法的介绍

    相关文章推荐

    • java枚举是什么• java枚举中的values遍历• switch在java枚举中的用法• java枚举中添加抽象方法• 构造函数在java枚举中的使用• java枚举集合怎么用• java枚举中线程的实现• java枚举自带的方法有哪些• java枚举的原理分析• java枚举实现单例的方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网