您的位置:首页 > 其它

带抽象方法的枚举

2015-10-25 20:15 197 查看
  近期的项目里用到了枚举,用于列出消息的类型。最初我是这么写的

public enum MessageTypeName {
公告,
订购,
退款
}
  但是在别人调用的时候总是总是 点+中文,组长说为了让我们的代码更加的具有通用性,更加国际化,要我想办法改成英文的。但是数据库只有一个字段, 有没有什么办法可以在写代码的时候用英文,而存储或显示的时候用中文呢?

  带抽象方法的枚举就派上了用途:

public enum MessageTypeName {
/** 公告 */
NOTICE("NOTICE") {
public String getName() {
return "公告";
}
},
/** 订购 */
BUY("BUY") {
public String getName() {
return "订购";
}
},
/** 退款 */
REFUND("REFUND") {
public String getName() {
return "退款";
}
};

public abstract String getName();

private String value;

private MessageTypeName(String value) {
this.value = value;
}
}  这样,在调用的时候只需MessageTypeName.NOTICE.getName()便可以获得中文名称啦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息