(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--0 System.out.println(m3.name()+"--"+m3.ordinal());//NONE--2 } }