java枚举

    技术2026-08-13  18

    java 基础之枚举

    1.枚举类Enum

    Enum类是所有的枚举类的父类,但是在申明时并不需要extends申明。子类继承其方法。Enum类常用的方法 方法描述String name()返回此枚举常量的名称Static T valueOf (String name)指定名称的指定枚举类型的枚举常量Static T [ ] values()返回该枚举类的所有枚举int hashCode()返回此枚举常量的哈希码以及从超类 Object 继承而来的方法等

    2.自定义枚举类

    创建一个 Student 枚举类,枚举常量均是 static final 的。相邻枚举常量用逗号隔开,最后一个用分号表示结束,申明的顺序影响 compareTo 方法。 public enum Student{ FIRST, SECOND, THREE; }

    3.创建枚举类对象

    在java中,万物皆是对象,枚举也是一个对象,通常的我们实例化一个对象会去new一个,得到的每个实例,其hascode值一般情况下也不一样。但是枚举类的实例的个数是创建时就固定的,其构造方法也是私有的,并不能通过外部new得到。获得其实例对象 Student s1=Student.valueOf("FIRST"); Student s2=Student.SECOND; System.out.println(Student.FIRST.name()); System.out.println(s1.name()); 获取所有的枚举 Student[] t = Student.values(); for (Student e : t) { System.out.println(e); }

    4.创建枚举属性

    枚举也是一个类,也可以拥有自己的属性,但是,由于枚举类的实例对象是创建类时就固定的,必须先有对象再有属性,因此属性的申明要在枚举申明之后,并提供相对应参数的构造方法。 public enum Student { FIRST("张三"), SECOND("李四"), THREE("王五"); private String name; Student(String name) { this.name = name; } public String getName() { return this.name; } }

    5.创建方法

    也可以申明自己的方法,方法申明在枚举之后,当方法为抽象方法时,每个枚举量需实现自己的逻辑。 public enum Student { FIRST("张三") { @Override public void doMyself() { System.out.println("张三"); } }, SECOND("李四") { @Override public void doMyself() { System.out.println("李四"); } }, THREE("王五") { @Override public void doMyself() { System.out.println("王五"); } }; public abstract void doMyself(); public void sayHello(){ System.out.println("oh"); } private String name; Student(String name) { this.name = name; } public String getName() { return this.name; } } this.name = name; } public String getName() { return this.name; }

    }

    Processed: 0.015, SQL: 9