public enum EnumTest {
String(0, ""), Short(1, "0"), Integer(2, "0"), Long(3, "0"), Float(4, "0.0"),
Double(5, "0.0"), BigInteger(6, "0"), BigDecimal(7, "0.0"),
Date(8, new SimpleDateFormat("yyyyMMdd").format(new java.util.Date()));
// 成员变量私有化
private final int index;
private final String desc;
// 构造方法私有化
private EnumTest(int index, String desc) {
this.index = index;
this.desc = desc;
}
//覆盖方法
@Override
public String toString() {
return this.index + "_" + this.desc;
}
public int getIndex() {
return this.index;
}
public String getDesc() {
return this.desc;
}
public static Integer getValue(String desc) {
EnumTest[] enumTests = values();
for (EnumTest type : enumTests) {
if (type.desc == desc) {
return type.index;
}
}
return null;
}
public static String getDesc(Integer value) {
EnumTest[] enumTests = values();
for (EnumTest type : enumTests) {
if (type.index == value) {
return type.desc;
}
}
return null;
}
public static void main(String[] args) {
String str = "String";
System.out.println(EnumTest.valueOf(str).index);
System.out.println(EnumTest.valueOf(str).desc);
System.out.println(EnumTest.getDesc(8));
System.out.println(EnumTest.getValue("0.0"));
String[] array = new String[]{"String", "Short", "Date"};
for (int i = 0; i < array.length; i++) {
switch (EnumTest.valueOf(array[i])) {
case String:
System.out.println("String");
break;
case Short:
System.out.println("short");
break;
case Date:
System.out.println("date");
break;
default:
break;
}
}
}
}
18.枚举
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、枚举类1.如何自定义枚举类2.如何使用enum关键字定义枚举类:将枚举类对象相同部分删掉,同时中间用逗号分隔。...
- 直接使用MessageTypes(rawValue: mt)可以初始化mt对应的枚举值,当然是可选类型的,如果mt...
- 1. Swift枚举基本概念 Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像...