java enum例子_Java枚举的小例子

部分代码如下

枚举类:AlarmEventEnum.java

@Slf4j

public enum AlarmEventEnum {

DRIVING_ZONE("driving_zone_route","{confuse_value}线路","{confuse_value} Route"),

DRIVING_ZONE_CIRCLE("driving_zone_circle","{confuse_value}区域","{confuse_value} Zone"),

BEHAVIOR_FATIGURE("behavior_fatigure","疲劳驾驶,已连续驾驶{value}小时","Fatigue Driving, Has Been Driving For {value} Hours"),

BEHAVIOR_SEATBELT("behavior_seatbelt","未系安全带","Unfastened Seat Belt"),

BEHAVIOR_BRAKE("behavior_brake","紧急刹车,刹车前时速{value}千米/时","Emergency Braking, Speed Before Braking {value} km/h"),

;

/**

* 加快事件获取

*/

private String key;

private String cnDesc;

private String enDesc;

public String getKey() {

return key;

}

private AlarmEventEnum(String key, String cnDesc, String enDesc) {

this.key = key;

this.cnDesc = cnDesc;

this.enDesc = enDesc;

}

/**

* 国际化

* @param locale

* @return

*/

public String getLocaleEventDesc(String locale){

if (EventEnumUtil.CN.equals(locale)){

return this.cnDesc;

}else if (EventEnumUtil.EN.equals(locale)){

return this.enDesc;

}else{

//国际化参数错误

log.error("Parameter 'locale' : {} is wrong!!! ",locale);

return "Parameter 'locale' : "+ locale + " is wrong!!! ";

}

}

//还有很多代码未展示出来,这里作为例子就足够了

}

对应该枚举的工具类:EventEnumUtil.java

@Slf4j

public class EventEnumUtil {

/**

* 国际化

*/

public static final String CN = "CN";

public static final String EN = "EN";

/**

* 需要判断的参数

*/

public static final String LABELS_CODE = "code";

public static final String FIELDS_VALUE = "value";

public static final String FIELDS_TYPE = "type";

public static final String FIELDS_CATEGORY = "category";

private static Map enumMap = new HashMap<>();

//这里初始化Map,Map的key就是枚举的key属性,值就是枚举本身,这样做的目的是为了根据key更快获取枚举的值。

static {

AlarmEventEnum[] values = AlarmEventEnum.values();

for (int i=0; i

enumMap.put(values[i].getKey(),values[i]);

}

}

/**

* 根据这三个参数生成枚举对象AlarmEventEnum中的key

* @param code

* @param type

* @param category

* @return

*/

private static String generateAlarmEventEnumKey(String code, String type, String category) {

StringBuilder stringBuilder = new StringBuilder();

stringBuilder.append(code);

if (type != null) {

stringBuilder.append("_");

stringBuilder.append(type);

}

if (category != null) {

stringBuilder.append("_");

stringBuilder.append(category);

}

return stringBuilder.toString();

}

//未展示全部代码,但是已经够了

private EventEnumUtil(){}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值