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.枚举
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 一、枚举类1.如何自定义枚举类2.如何使用enum关键字定义枚举类:将枚举类对象相同部分删掉,同时中间用逗号分隔。...
- 直接使用MessageTypes(rawValue: mt)可以初始化mt对应的枚举值,当然是可选类型的,如果mt...
- 1. Swift枚举基本概念 Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像...