enum 枚举类型 是 JDK1.5中引入的新特性,存放在 java.lang包中
创建 注意 : 应在类中创建 一般在该实体类的包下在新建一个enumeration包,把枚举类型的类写在enumeration包下,例如:
public enum EnumTest { MON, TUE, WED, THU, FRI, SAT, SUN; }然后在实体类里引用这个枚举类。
EnumTest et = EnumTest.MON;给 enum 自定义属性和方法
public enum EnumTest { MON(1), TUE(2), WED(3), THU(4), FRI(5), SAT(6) { @Override public boolean isRest() { return true; } }, SUN(0) { @Override public boolean isRest() { return true; } }; private int value; private EnumTest(int value) { this.value = value; } public int getValue() { return value; } public boolean isRest() { return false; } }遍历
for (EnumTest e : EnumTest.values()) { System.out.println(e.toString()); }常用方法
返回值方法注解intcompareTo(E o)比较此枚举与指定对象的顺序。ClassgetDeclaringClass()返回与此枚举常量的枚举类型相对应的 Class 对象。Stringname()返回此枚举常量的名称,在其枚举声明中对其进行声明intordinal()返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)StringtoString()返回枚举常量的名称,它包含在声明中。static <T extends Enum> TvalueOf(Class<T> enumType, String name)返回带指定名称的指定枚举类型的枚举常量。例
public class Test01 { public enum EnumTest1 { MON, TUE, WED, THU, FRI, SAT, SUN; } public enum EnumTest2 { MON(1), TUE(2), WED(3), THU(4), FRI(5), SAT(6) { @Override public boolean isRest() { return true; } }, SUN(0) { @Override public boolean isRest() { return true; } }; private int value; private EnumTest2(int value) { this.value = value; } public int getValue() { return value; } public boolean isRest() { return false; } } public static void main(String[] args) { //遍历 for (EnumTest1 e : EnumTest1.values()) { System.out.println(e.toString()); } //创建枚举对象 EnumTest1 test = EnumTest1.TUE; //switch操作 switch(test) { case MON: System.out.println("今天是星期一"); break; case TUE: System.out.println("今天是星期二"); break; // ... ... default: System.out.println(test); break; } System.out.println("EnumTest2.FRI 的 value = " + EnumTest2.FRI.getValue()); } }运行结果
