Java基础复习:枚举(java.lang.Enum<E>)

来源:互联网 发布:雕刻机作图软件 编辑:程序博客网 时间:2024/05/16 05:19

(1)定义枚举类


public enum Gender {/* * Java 5开始出现了枚举 * 枚举元素必须位于枚举类中的开始部分 * 枚举的每一个元素都相当于一个常量 public static final */WOMAN("女"),MAN("男"),NONE("保密");private String name;/** * 枚举类必须定义构造方法,默认是私有的,这样才能和枚举元素对应上 * @param sex 性别 * @param index 序号 */private Gender(String sex) {this.name = sex;}/** * 覆写toString()方法 */public String toString() {return this.name;}public String getName() {return name;}}

定义主函数进行测试


public class EnumDemo {public static void main(String[] args) {Gender m = Gender.MAN;Gender m2 = Gender.WOMAN;System.out.println(m);//男System.out.println(m2);//女System.out.println("------------------");//所有枚举类都提供一个静态的values()方法(返回该枚举类所有对象组成的数组)//便于遍历所有枚举对象;Gender[] gs = Gender.values();for (Gender gender : gs) {System.out.println(gender);}System.out.println("------------------");//所有枚举类都提供一个静态的valueOf(String name)方法//返回枚举类中对象名等于 name的对象,严格区分大小写Gender m3 = Gender.valueOf("NONE");System.out.println(m3);//保密System.out.println("------------------");/* * java.lang.Enum类下的常用方法: * String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明 * int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零) * 当然,也可以在定义枚举时显示的定义枚举的序号 */System.out.println(m2.name()+"--"+m2.ordinal());//WOMAN--0System.out.println(m3.name()+"--"+m3.ordinal());//NONE--2}}