最近在学习了枚举,写了一些基本使用枚举的方式,分享下
1、最简单的定义枚举的例子(这时候分号可加可不加)
public enum TestEnum{ CREATE, DEL, MODIFY; }
2、带构造函数的枚举示例(这时候分好是必须加的,并且定义枚举只能放在第一行,否则无法编译通过)
public class Demo{ public enum TestEnum{ CREATE("C"), DEL("D"), MODIFY("M"); private String value ; public String getValue() { return value; } private TestEnum(String value){ this.value = value; } } public static void main(String[] args) { TestEnum te = TestEnum.CREATE; System.out.println(te.getValue()); } }
输出结果:C
3、带抽象方法的枚举示例
// 定义抽象枚举
public enum TestEnum{ CREATE{ public String printCn() { return "创建"; } }, DEL{ @Override public String printCn() { return "删除"; } }, MODIFY{ @Override public String printCn() { return "修改"; } }; abstract public String printCn(); }
// 执行 的main 方法 public static void main(String[] args) { TestEnum te = TestEnum.CREATE; System.out.println(te.printCn()); }
输出结果:创建
4、枚举除了这些基本定义功能外,还可以对枚举中的元素进行遍历
例如我定义的枚举名称为TestEnum,则遍历代码如下:
private static void testTraversalEnum() {
// 关键部分,枚举有values这个属性,可以获取到枚举中的每个对象 TestEnum[] allEnum = TestEnum.values (); for (TestEnum te : allEnum) { System. out .println( " 当前处理名称 name : " + te.name()); System. out .println( " 当前下标 ordinal : " + te.ordinal()); } }