直接上手吧,注释都写清楚了
编写枚举类
/**
* 可以使用接口或类包裹枚举元素,使其可以统一调用入口
*/
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());
}
}