Enum 枚举

mac2026-08-21  3

Enum 枚举

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()); } }

运行结果

最新回复(0)