一、几种枚举类代码示例
1、最简单枚举类
enum Nuber { One, Two }// enum 的语法结构尽管和class的语法不一样,但是经过JVM编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum<E>。而每一个类都有一个默认的无参构造器,所以此处可以不加构造器
2、一般枚举类用法
public enum Person { // enum实例必须写在枚举类的最顶端,否则编译报错 WORKER(0, "工人"), STUDENT(1, "学生");// 如果打算定义方法,那么最后一个enum实例后需要添加一个; // 封装 private int index; private String desc; // 必须有一个构造器与enum实例的结构相符合 private Person(int index, String desc) {// 此处构造器访问修饰符无论是否申明为private对可访问性无差别,但为了明确含义,建议加上 this.index = index; this.desc = desc; } }
二、枚举类方法
1、values()方法,返回一个enum实例的数组,数组中元素严格保持其在enum中声明时的顺序
2、ordinal(),返回该enum实例在enum中声明的次序(从0开始)
3、compareTo()方法,比较enum中声明的次序差
4、equals() 等同于 ==
5、name() 等同于 toString() ,返回枚举实例的名字