Java代码 枚举类型替换

来源:互联网 发布:网页文字聊天室php 编辑:程序博客网 时间:2024/06/03 03:37

一,运用场景;

后台已定义好的枚举类型;从数据库中直接获取的数值为英文的,此时前段显示又是中文的;这时候,我们就需要在后台提前将该字段枚举类型先转换好....


写法一:直接替换(这种写法 如果枚举值定义的很多,麻烦的要死;不建议使用)

如:

属性: private String user_status_name;

public String getUser_status_name() {
if(UserStatus.FILLING.name().equals(getUser_status())){
setUser_status_name(UserStatus.FILLING.getDesc());
}else if(UserStatus.APPROVING.name().equals(getUser_status())){
setUser_status_name(UserStatus.APPROVING.getDesc());
}else if(UserStatus.VALID.name().equals(getUser_status())){
setUser_status_name(UserStatus.VALID.getDesc());
}else if(UserStatus.INVALID.name().equals(getUser_status())){
setUser_status_name(UserStatus.INVALID.getDesc());
}
return user_status_name;
}


public void setUser_status_name(String user_status_name) {
this.user_status_name = user_status_name;
}

写法二:建议使用

public String getUser_status_name() {
if(StringUtils.isNotBlank(getUser_status())){
try {
setUser_status_name(UserStatus.valueOf(getUser_status()).getDesc());
} catch (Exception e) {
setUser_status_name("");
}
}
return user_status_name;
}


枚举类定义:

public enum UserStatus {
FILLING("信息完善中"), APPROVING("审核中"), VALID("有效用户"), INVALID("无效用户");

String desc;


private UserStatus(String desc) {
this.desc = desc;
}

public String getDesc() {
return desc;
}
}

0 0
原创粉丝点击