在Java中使用枚举,更加方便了我们的开发,合理合适的引用让我们很方便。
一、在正常情况下我们使用枚举定义常量如下:
public enum Color {
RED, GREEN, BLANK, YELLOW
}
在其他类文件中,就可以直接调用枚举中的常量:
String red=Color.Red.toString();//red的值就是RED
但是,如果我们想定义常量的值不仅仅是一个单词,而是带有特殊-、:等符号,直接定义枚举是不支持的。
public enum Color {
yyyy-MM-dd
}
在枚举中像上面这样定义常量是错误的。
二、带有特殊符号常量枚举实现:
枚举中是支持构造函数方法,因此我们可以通过构造函数来实现特殊符号常量的枚举定义,即:
// 日期枚举
public enum ResponseFormatEnum {
yMd("yyyy-MM-dd"), yMdHms("yyyy-MM-dd HH:mm:ss"), yMdHmsUnsigned("yyyyMMddHHmmss"), Hms("HH:mm:ss");
public String enumField;
// 构造方法
private ResponseFormatEnum(String name) {
this.enumField = name;
}
}
按照上面方式定义,那么我们在类方法中就可以调用这些常量:
//ymdHms的值为yyyy-MM-dd HH:mm:ss
String ymdHms=ResponseFormatEnum.yMdHms.enumField.toString();
控制台输出结果:
这样我们就可以正常调用想用的常量。