直接上手吧,注释都写清楚了
编写枚举类
/** * 可以使用接口或类包裹枚举元素,使其可以统一调用入口 */ public interface TestEnumIntfc { /** * 创建枚举对象 */ public enum TestEnum { //1.常规型定义枚举项 // Enabled, Disabled //2.普通型定义枚举项 // Enabled(1), Disabled(0); // private int value; // TestEnum(int value){ // this.value = value; // } //3.复杂型定义枚举项 //(枚举项参数构造方法提供的参数对应) Enabled(1, "启用"), Disabled(0, "禁用"); //(使用私有变量存储值) private int value; private String text; //构造方法只能是private,通过构造为私有变量赋值 TestEnum(int value, String text) { this.value = value; this.text = text; } //可以定义方法供外部调用,获取每一个属性的值(为枚举项提供方法) //TestEnum.Enabled.toInt() public int toInt() { return this.value; } public String toText() { return this.text; } //可以定义静态方法以便根据value获取text(为枚举类提供方法) //TestEnum.getText(1) public static String getText(int value) { for (TestEnum item : TestEnum.values()) { if (value == item.value) { return item.text; } } return null; } //可以重写toString()方法实现自定义输出 @Override public String toString() { return super.toString(); } } }
编写调用main()
public static void main(String[] arge) { //调用同toString()方法,输出:Enabled System.out.println(TestEnumIntfc.TestEnum.Enabled); //根据选定的枚举项,获取text,输出:启用 System.out.println(TestEnumIntfc.TestEnum.Enabled.toText()); //根据选定的枚举项,获取value,输出:1 System.out.println(TestEnumIntfc.TestEnum.Enabled.toInt()); //根据选定的枚举项,转换为字符串,输出:Enabled System.out.println(TestEnumIntfc.TestEnum.Enabled.toString()); //根据选定枚举类及传入的value,返回该value对应的text,输出:启用 System.out.println(TestEnumIntfc.TestEnum.getText(1)); //获取该枚举类中的所有项的数组并循环 for (TestEnumIntfc.TestEnum e : TestEnumIntfc.TestEnum.values()) { System.out.println(e.toText()); } }