public enum MessageStatusEnum {
NO_PUSH(0, "未推送"),
PUSHED(1, "已推送");
private Integer value;
private String name;
MessageStatusEnum(Integer value, String name) {
this.value = value;
this.name = name;
}
private Integer getValue() {
return value;
}
private String getName() {
return name;
}
/**
* @return
* @Description 根据标识获取对应定义
* @Param [value]
*/
public static String getName(Integer value) {
MessageStatusEnum[] messageStatusEnums = values();
for (MessageStatusEnum messageStatusEnum : messageStatusEnums) {
if (messageStatusEnum.getValue().equals(value)) {
return messageStatusEnum.getName();
}
}
return null;
}
/**
* @return
* @Description 根据定义获取对应标识
* @Param [name]
*/
public static Integer getValue(String name) {
MessageStatusEnum[] messageStatusEnums = values();
for (MessageStatusEnum messageStatusEnum : messageStatusEnums) {
if (messageStatusEnum.getName().equals(name)) {
return messageStatusEnum.getValue();
}
}
return null;
}
/**
* @return
* @Description 根据标识获取枚举
* @Param [value]
*/
public static MessageStatusEnum getStatus(Integer value) {
MessageStatusEnum[] messageStatusEnums = values();
for (MessageStatusEnum messageStatusEnum : messageStatusEnums) {
if (messageStatusEnum.getValue().equals(value)) {
return messageStatusEnum;
}
}
return null;
}
/**
* @Description 根据序号返回枚举常量名称,并进行组装
* @Param [value]
* @return
*/
public static String getConstant(Integer value) {
String constant = "";
MainStatusEnum mainStatusEnum = getStatus(value);
List<String> list = Arrays.asList(StringUtils.split(mainStatusEnum.toString(), "_"));
// 切分后产生多个单词
if (CollectionUtils.isNotEmpty(list)) {
for (int i = 0; i < list.size(); i++) {
String str = list.get(i);
// 首字母大写,其他小写
StringBuilder sb = new StringBuilder(str.toLowerCase());
sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
str = sb.toString();
constant += str;
if (i < list.size() - 1) {
constant += " ";
}
}
}
return constant;
}
}